
# 右外连接
#### 功能描述
右外连接（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;
```
