📜  sql中的全外连接(1)

📅  最后修改于: 2023-12-03 15:35:08.033000             🧑  作者: Mango

SQL中的全外连接

在SQL中,全外连接(FULL OUTER JOIN)是一种结合两个查询之间共同列和不共同列的结果的方法。无论在哪个表中出现,如果该列在其中一个表中出现,它就在结果集中显示出来。如果该列在两个表中出现,则它在结果集中只显示一个。

语法
SELECT column_names
FROM table1
FULL OUTER JOIN table2
ON table1.column_name = table2.column_name;
示例

考虑以下两个表:

Table1

| ID | Name | | -- | ---- | | 1 | John | | 2 | Alex | | 3 | Kate |

Table2

| ID | Age | | -- | --- | | 1 | 21 | | 3 | 25 | | 4 | 19 |

我们想要以ID为连接条件,将这两个表连接起来。因为Table2中的ID 2不存在于Table1中,而Table1中的ID 2不存在于Table2中,所以我们需要使用全外连接来包含所有ID。

SELECT *
FROM table1
FULL OUTER JOIN table2
ON table1.ID = table2.ID;

结果为:

| ID | Name | Age | | -- | ---- | --- | | 1 | John | 21 | | 2 | Alex | NULL| | 3 | Kate | 25 | | 4 | NULL | 19 |

注意到表格中有一个NULL值。这是因为ID为2的行在Table2中不存在任何值,所以在连接时,在Age列中显示NULL。

总结

全外连接是一种灵活的连接方式,可用于合并两个表中的共同和不共同列。使用FULL OUTER JOIN时需要注意,结果集中可能包含NULL值,因此需要进行相应的处理。