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