left join 和 right join的区别

用一句话来概括就是:

left join 会查询出左表所有的数据,以及右表能连接上的字段
right join 会查询出右表所有的数据,以及左表能连接上的字段

用一张图来概括就是:

大白话的说法就是:

比方说,我们有两张表 一张是人物表person 一张是年龄表age
person
id/姓名
01/张三
02/李四
03/王五
另一张
id/age
02/20
03/25
04/23

1.left join

左连接,什么意思呢?就是以左表为主,以person为主,关联上age的数据,显示的是左表的全部数据,以及显示右表与左表交集的数据

select * from person left join age on person.id=age.id
得出的结果为
id/姓名/id/age
01/张三/null/null
02/李四/02/20
03/王五/03/25

2.right join

右连接,顾名思义,就是以右表为主
select * from age left join person on person.id=age.id

得出的结果为
id/姓名/id/age
02/李四/02/20
03/王五/03/25
null/null/04/23

3.join

最后在补充一个 join,也就是inner join,内连接,也就是只显示有交集的部分

得出的结果为
id/姓名/id/age
02/李四/02/20
03/王五/03/25

posted @ 2021-06-17 14:45  Rushduck  阅读(805)  评论(0)    收藏  举报