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值。