什么是MySQL LEFT JOIN,我们如何为其编写MySQL查询?
在使用LEFT联接联接两个表时,引入了lefttable和righttable的概念,并且还需要联接谓词。它返回左表中的所有行,其中包括满足join-predicate的行以及不满足join-predicate的行。
对于与联接谓词不匹配的行,NULL出现在结果集中右表的列中。为了理解它,我们以两个名为tbl_1和tbl_2的表为例,它们具有以下数据-
mysql> Select * from tbl_1; +----+--------+ | Id | Name | +----+--------+ | 1 | Gaurav | | 2 | Rahul | | 3 | Raman | | 4 | Aarav | +----+--------+ 4 rows in set (0.00 sec) mysql> Select * from tbl_2; +----+---------+ | Id | Name | +----+---------+ | A | Aarav | | B | Mohan | | C | Jai | | D | Harshit | +----+---------+ 4 rows in set (0.00 sec)
现在,查询LEFTJOIN可以如下-
mysql> SELECT tbl_1.id,tbl_2.id FROM tbl_1 LEFT JOIN tbl_2 ON tbl_1.name = tbl_2.name; +----+------+ | id | id | +----+------+ | 1 | NULL | | 2 | NULL | | 3 | NULL | | 4 | A | +----+------+ 4 rows in set (0.02 sec)