SQL FULL JOIN学习笔记
什么是FULL JOIN?
FULL JOIN,也被称为FULL OUTER JOIN,它可以返回两个表中所有行的联合结果,并在其中没有匹配项的每一边填充NULL值。FULL JOIN是INNER JOIN和LEFT JOIN以及RIGHT JOIN的结合。
FULL JOIN的语法
Copy CodeSELECT column(s)
FROM table1
FULL OUTER JOIN table2
ON table1.column = table2.column;
FULL JOIN的实例
我们有两个表:学生表(students)和成绩表(scores),现在我们需要查找所有学生和他们的成绩信息,包括没有成绩信息的学生。
学生表(students)
| id | name | age | gender |
|---|---|---|---|
| 1 | Tom | 18 | male |
| 2 | Alice | 20 | female |
| 3 | Jack | 19 | male |
| 4 | Olivia | 18 | female |
| 5 | Emma | 21 | female |
成绩表(scores)
| id | score |
|---|---|
| 1 | 80 |
| 2 | 90 |
| 4 | 85 |
查询语句
Copy CodeSELECT students.name, scores.score
FROM students
FULL OUTER JOIN scores
ON students.id = scores.id
ORDER BY students.name;
查询结果
| name | score |
|---|---|
| Alice | 90 |
| Emma | NULL |
| Jack | NULL |
| Olivia | 85 |
| Tom | 80 |
我们可以看到,FULL JOIN连接了两个表中所有的行,并在没有匹配项的每一边填充了NULL值。