📜  右连接 - SQL (1)

📅  最后修改于: 2023-12-03 14:50:39.565000             🧑  作者: Mango

右连接 - SQL

在 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 关联查询语句中的一种,可以将两个表格中符合一定条件的数据行合并到一个表格中,优先返回右表格中的所有行。在某些情况下,使用右连接可以更好地反映出整个数据集。