左连接和左外连接一图详解
时间: 2023-12-20 09:29:00 浏览: 76
左连接和左外连接是SQL中常用的连接方式之一。左连接是指以左表为基础,将左表中的所有记录和右表中符合条件的记录连接起来,如果右表中没有符合条件的记录,则以NULL填充。左外连接则是指以左表为基础,将左表中的所有记录和右表中符合条件的记录连接起来,如果右表中没有符合条件的记录,则以NULL填充,并且右表中的记录也会被保留下来。
下面是一张左连接和左外连接的示意图:
```
+------+ +------+
|TableA| |TableB|
+------+ +------+
idA idB
... ...
1 1
2 3
3 4
4 6
5 7
左连接:
SELECT *
FROM TableA
LEFT JOIN TableB
ON TableA.idA = TableB.idB;
结果:
+------+------+------+
| idA | idB | ... |
------+------+------+
| 1 | 1 | ... |
| 2 | NULL | ... |
| 3 | NULL | ... |
| 4 | NULL | ... |
| 5 | NULL | ... |
+------+------+------+
左外连接:
SELECT *
FROM TableA
LEFT OUTER JOIN TableB
ON TableA.idA = TableB.idB;
结果:
+------+------+------+
| idA | idB | ... |
+------+------+------+
| 1 | 1 | ... |
| 2 | NULL | ... |
| 3 | NULL | ... |
| 4 | NULL | ... |
| 5 | NULL | ... |
+------+------+------+
```
在上面的示例中,左表是TableA,右表是TableB,左连接和左外连接的区别在于左外连接会保留右表中的记录,而左连接不会。