mysql 的right join
时间: 2023-09-05 10:14:09 浏览: 41
MySQL的RIGHT JOIN是一种关联查询,它返回右表中所有的行以及左表中符合条件的行。如果左表中没有符合条件的行,则结果集中相应的列将返回NULL。
语法:
```
SELECT 列1, 列2, ... FROM 表1 RIGHT JOIN 表2 ON 条件;
```
示例:
假设有两个表,一个是学生表(students),一个是成绩表(scores),它们的结构如下:
students表:
| id | name |
|----|--------|
| 1 | Alice |
| 2 | Bob |
| 3 | Charlie|
| 4 | David |
scores表:
| id | student_id | score |
|----|------------|-------|
| 1 | 1 | 80 |
| 2 | 2 | 90 |
| 3 | 3 | 85 |
| 4 | 5 | 70 |
现在我们想要查询所有学生以及他们的成绩,如果没有成绩则成绩列返回NULL。我们可以使用RIGHT JOIN实现:
```
SELECT students.name, scores.score
FROM students
RIGHT JOIN scores ON students.id = scores.student_id;
```
执行以上SQL语句,我们会得到以下结果:
| name | score |
|---------|-------|
| Alice | 80 |
| Bob | 90 |
| Charlie | 85 |
| NULL | 70 |
可以看到,由于成绩表中有一个学生ID为5,而学生表中没有对应的ID,因此在结果集中会出现一行NULL。