📅  最后修改于: 2023-12-03 14:50:39.565000             🧑  作者: Mango
在 SQL 中,右连接(Right Join)是一种关联查询方式,可以将两个表格中符合一定条件的数据行合并到一个表格中。右连接与左连接类似,不同的是右连接优先返回右表格中的所有行,而左连接则优先返回左表格中的所有行。
右连接的基本语法如下:
SELECT [columns]
FROM [table1]
RIGHT JOIN [table2]
ON [condition];
其中:
SELECT
:指定返回的列名或使用 *
返回所有列。FROM
:指定主表格。RIGHT JOIN
:指定连接方式为右连接。table2
:指定要连接的表格名。ON
:指定连接条件,即两个表格之间关联的列。下面是一个简单的例子,查询学生信息和对应的成绩情况。
| id | name | gender | |----|--------|--------| | 1 | Alice | F | | 2 | Bob | M | | 3 | Carol | F | | 4 | Dave | M | | 5 | Elaine | F |
| id | subject | score | |----|---------|-------| | 1 | Math | 80 | | 2 | English | 85 | | 1 | English | 90 | | 3 | Math | 95 | | 4 | Math | 70 |
下面的查询语句将返回 各个学生的所有成绩情况,包括未获得成绩的学生。
SELECT students.id, students.name, scores.subject, scores.score
FROM students
RIGHT JOIN scores
ON students.id = scores.id;
| id | name | subject | score | |----|--------|---------|-------| | 1 | Alice | Math | 80 | | 1 | Alice | English | 90 | | 2 | Bob | English | 85 | | 3 | Carol | Math | 95 | | 4 | Dave | Math | 70 | | 5 | Elaine | NULL | NULL |
上面的返回结果中,可以看到 Elaine
的信息被包含在了结果集中,即使在成绩表格中没有该学生的成绩记录。这是由于使用了右连接,而且在这种情况下,由于存在未获得成绩的学生,使用右连接可以更好地反映出整个数据集。
右连接是 SQL 关联查询语句中的一种,可以将两个表格中符合一定条件的数据行合并到一个表格中,优先返回右表格中的所有行。在某些情况下,使用右连接可以更好地反映出整个数据集。