sql outer join
时间: 2024-09-24 18:11:10 浏览: 28
SQL联合查询inner join、outer join和cross join的区别详解
外连接(Outer Join)是SQL中的一种关联查询,它返回左表(Left Join)、右表(Right Join)或两个表的所有记录,即使某些记录在另一个表中没有匹配。有三种主要类型的外连接:
1. **左外连接(LEFT JOIN)**:返回所有左表(也称为"第一张表")的记录以及右表("第二张表")匹配的记录,如果右表中没有匹配,则结果会显示NULL值。
示例:
```
SELECT * FROM table1 LEFT JOIN table2 ON table1.key = table2.key;
```
2. **右外连接(RIGHT JOIN)**:与左外连接类似,但返回的是所有右表的记录和左表匹配的记录,如果左表无匹配则为NULL。
示例:
```
SELECT * FROM table1 RIGHT JOIN table2 ON table1.key = table2.key;
```
3. **全outer join(FULL OUTER JOIN)**:同时包含左表和右表的所有记录,无论是否在对方表中有匹配。如果某一方没有匹配,对应的值就是NULL。
示例:
```
SELECT * FROM table1 FULL OUTER JOIN table2 ON table1.key = table2.key;
```
外连接有助于合并来自两个或更多表的数据,并在需要时处理缺失数据。
阅读全文