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