什么是MySQL LEFT JOIN,我们如何为其编写MySQL查询?

在使用LEFT联接联接两个表时,引入了left table和right table的概念,并且还需要联接谓词。它返回左表中的所有行,其中包括满足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)

现在,查询LEFT JOIN可以如下-

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)
猜你喜欢