更新时间:2026-07-03 GMT+08:00
全外连接
功能描述
全外连接(FULL OUTER JOIN)根据左表与右表的所有记录进行匹配,返回两表中的所有记录。对于没有匹配值的记录,结果集中相应列返回 NULL。
语法格式
SELECT attr_expr_list FROM table_reference FULL OUTER JOIN table_reference ON join_condition;
参数说明
| 参数 | 说明 |
|---|---|
| attr_expr_list | 查询列表达式列表,指定需要返回的列。 |
| table_reference | 进行连接的表名或子查询。必须是已存在的表,否则会出错。 |
| FULL OUTER JOIN | 全外连接关键字,返回左表与右表的所有记录,没有匹配值的记录返回 NULL。FULL JOIN 是 FULL OUTER JOIN 的简写。 |
| join_condition | 连接条件,通常为两表之间列的等值比较表达式。 |
| ON | 指定连接条件的关键字。 |
注意事项
- 所要进行 JOIN 连接的表必须是已经存在的表,否则会出错。
- FULL JOIN 是 FULL OUTER JOIN 的简写形式,两者语义完全相同。
- 全外连接的结果集等于左外连接与右外连接的并集。
示例
利用全外连接可以将两张表中的所有记录返回,没有匹配值的左表及右表记录将返回 NULL。
SELECT student_info.name, course_info.courseName FROM student_info FULL OUTER JOIN course_info ON student_info.courseId = course_info.courseId;
等价写法:
SELECT student_info.name, course_info.courseName FROM student_info FULL JOIN course_info ON student_info.courseId = course_info.courseId;
父主题: 连接