欢迎光临
我们一直在努力

left join 和right join本质区别(图解)

1, test1表

2,test2表

3,查询

1,left join (1表为条件)

SELECT t1.id id1, t1.id1 a1, t1.id2 b1, t2.id1 a2, t2.id2 b2, t2.id id2
FROM test1 t1 LEFT JOIN test2 t2 ON t1.id1 = t2.id2 WHERE t1.id1 = 2

结果:

2,left join (2表为条件)

SELECT t1.id id1, t1.id1 a1, t1.id2 b1, t2.id id2, t2.id1 a2, t2.id2 b2  
FROM test1 t1 LEFT JOIN test2 t2 ON t1.id1 = t2.id2 WHERE t2.id1 = 2

结果:

总结:不论是左边 的表还是右边的表都以显示左边的为主,左边的表可以重复

3,left join (左边存在右边不存在条件)

SELECT t1.id id1, t1.id1 a1, t1.id2 b1, t2.id id2, t2.id1 a2, t2.id2 b2  
FROM test1 t1 LEFT JOIN test2 t2 ON t1.id1 = t2.id2 WHERE t1.id1 = 6

结果:

3,left join (右边存在左边不存在条件)

SELECT t1.id id1, t1.id1 a1, t1.id2 b1, t2.id id2, t2.id1 a2, t2.id2 b2  
FROM test1 t1 LEFT JOIN test2 t2 ON t1.id1 = t2.id2 WHERE t2.id1 = 5

结果:

4,left join (查询所有的字段)

SELECT t1.id id1, t1.id1 a1, t1.id2 b1, t2.id id2, t2.id1 a2, t2.id2 b2  
FROM test1 t1 LEFT JOIN test2 t2 ON t1.id1 = t2.id2

结果:

5,right join (查询所有字段)

SELECT t1.id id1, t1.id1 a1, t1.id2 b1, t2.id id2, t2.id1 a2, t2.id2 b2  
FROM test1 t1 RIGHT JOIN test2 t2 ON t1.id1 = t2.id2

结果:

总结:

左连接和右连接正好相反,不介绍了

1,保证数据的完整,只要和左边的表条件对应,都会显示

2,和左边的表不对应,就不显示

3,左边存在显示左边的,右边不存在就不显示

[便于自己理解最好自己手动敲一遍,记忆是通过多个器官共鸣,记忆更加深厚]

赞(0)
【声明】:本博客不参与任何交易,也非中介,仅记录个人感兴趣的主机测评结果和优惠活动,内容均不作直接、间接、法定、约定的保证。访问本博客请务必遵守有关互联网的相关法律、规定与规则。一旦您访问本博客,即表示您已经知晓并接受了此声明通告。