(1)写法上的区别
现在是两张表,写起来简单,如果是多张表,多种连接,甚至包含子查询,那么如果只存在左连接或者右连接,那么写法上会麻烦很多。
比如 a left join b on XXX=xxxx
right join c XXX=xxxx
left join d XXX=xxx
where a.xxxx=F.xxxx
等等,甚至更麻烦一些,那么只存在一种连接的话,改写起来就会比较麻烦。
(2)语句只是工具
习惯上我们一般会找一个主表(起主要作用的表),并从它开始写相应的语句,假设只存在一种连接,那么为了写语句就可能会打乱思维方式。语句只是工具,当然是怎么方便怎么来,所以二者相应的都存在。
(3)语言的规范性
我说的是编程语言,只有左没有右,就好像只有前没有后,内部解析的时候可能都是一样的,但是外部写作的时候必须是完整的,如果只有做没有右,那么可能就是缺失的。
A.左连接(LEFT JOIN )
ON字句连接条件,用于把2表中等值的记录连接在一起,但是不影响记录集的数量。若是表left_table中的某记录,无法在表right_table找到对应的记录,则此记录依然显示在记录集钟,只是表 right_table需要在查询显示的列的值用NULL替代;
ON字句连接条件中表right_table.columnname=XXX用于控制right_table表是否有符合要求的列值还是用NULL替换的方式显示在查询列中,不影响记录集的数量;
WHERE字句控制记录是否符合查询要求,不符合则过滤掉;
B.右连接(RIGHT JOIN)
ON子句连接条件,用于把2表中等值的记录连接在一起,若是表right_table中的某记录,无法在表left_table找到对应的记录,则表 left_table需要在查询显示的列的值用NULL替代;
ON子句连接条件中表left_table.columnname=XXX用于控制left_table表是否有符合要求的列值,还是用NULL替换的方式显示在查询列表中;
WHERE字句控制记录是否符合查询要求,不符合则过滤掉;
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)