FULL OUTER JOIN
是 SQL 中的一种连接操作,它返回左表(LEFT TABLE
)和右表(RIGHT TABLE
)中所有匹配的行,以及两个表中不匹配的行。如果某一边没有匹配,那么结果中该边的字段将包含 NULL
值。
SQL FULL OUTER JOIN
语法
SELECT column_names
FROM table1
FULL OUTER JOIN table2
ON table1.common_field = table2.common_field;
column_names
是你想要从两个表中选择的列名。table1
和table2
是你想要连接的两个表。common_field
是两个表中用于匹配的共同字段。
代码示例
假设我们有两个表:employees
和 departments
。
employees 表:
+----+----------+
| id | name |
+----+----------+
| 1 | John |
| 2 | Jane |
| 3 | Mike |
+----+----------+
departments 表:
+----+------------+
| id | department |
+----+------------+
| 1 | Sales |
| 2 | Marketing |
| 4 | IT |
+----+------------+
现在,我们想要找出 employees
表和 departments
表中所有的 id
,包括那些在其中一个表中存在而在另一个表中不存在的 id
。
SELECT employees.id, employees.name, departments.department
FROM employees
FULL OUTER JOIN departments
ON employees.id = departments.id;
这个查询的结果将是:
+----+----------+------------+
| id | name | department |
+----+----------+------------+
| 1 | John | Sales |
| 2 | Jane | Marketing |
| 3 | Mike | NULL |
| 4 | NULL | IT |
+----+----------+------------+