全外连接是一种 SQL 连接类型,它返回两个表中所有行,即使其中一个或两个表中没有匹配的行。它不同于内连接,后者仅返回具有匹配行的行。
SQL 全外连接语法
全外连接的语法如下:
SELECT *
FROM table1
FULL OUTER JOIN table2
ON table1.column = table2.column;
其中:
* table1 和 table2 是要连接的表。
* column 是用于比较两个表中行的列。
全外连接示例
假设我们有两个表:
**Table1**
| id | name |
| --- | ---- |
| 1 | John |
| 2 | Mary |
**Table2**
| id | city |
| --- | ---- |
| 1 | New York |
| 3 | Los Angeles |
使用全外连接,我们可以获取两个表中的所有行,如下所示:
SELECT *
FROM Table1
FULL OUTER JOIN Table2
ON Table1.id = Table2.id;
结果将如下所示:
| id | name | city |
| --- | ---- | ---- |
| 1 | John | New York |
| 2 | Mary | NULL |
| NULL | NULL | Los Angeles |
可以看到,结果集包含了两个表的所有行,即使它们没有匹配的行。对于没有匹配行的行,相应列的值为 NULL 。