千家信息网

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

发表于:2025-02-01 作者:千家信息网编辑
千家信息网最后更新 2025年02月01日,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
千家信息网最后更新 2025年02月01日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 id2FROM 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