SQL FULL JOIN学习笔记

什么是FULL JOIN?

FULL JOIN,也被称为FULL OUTER JOIN,它可以返回两个表中所有行的联合结果,并在其中没有匹配项的每一边填充NULL值。FULL JOIN是INNER JOIN和LEFT JOIN以及RIGHT JOIN的结合。

FULL JOIN的语法

Copy Code
SELECT 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 Code
SELECT 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值。