oracle内连接和外连接的区别

2025-03-10 22:25:32
推荐回答(1个)
回答1:

举例回答:

表stu
id name
1, Jack
2, Tom
3, Kity
4, nono

表exam
id grade
1, 56
2, 76
11, 89

内连接(显示两表匹配的id)

select stu.id, exam.id, stu.name, exam.grade from stu inner join exam on stu.id = exam.id

1 1 Jack 56
2 2 Tom 76

左连接(显示join左边表的所有数据)

select stu.id, exam.id, stu.name, exam.grade from stu left join exam on stu.id = exam.id

1 1 Jack 56
2 2 Tom 76
3 NULL Kity NULL
4 NULL nono NULL

右连接(显示join右边表的所有数据)

select stu.id, exam.id, stu.name, exam.grade from stu right join exam on stu.id = exam.id

1 1 Jack 56
2 2 Tom 76
NULL 11 NULL 89

总结:

内连接取交集
外连接(左连接,右连接)
左连接左边的全取
右连接右边的全取