left join 是做左外关联,左表为主表,主表内容都会显示;符合关联条件的附表内容才会显示出来。
inner join 是内关联,没有主表附表的概念;两个表中,同时符合关联条件的数据才会显示出来。
举例:
select * from tb_person;

select * from tb_address;

person表中没有id为4、5的人员,address表中没有p_id为6的地址信息,做内联和外联的时候就可以看出查询的不同了。
select p.*,a.a_name from tb_person p inner join tb_address a on p.p_id=a.p_id;

结果A:使用内联时,两张表中同时满足条件的才会展示出来,不满足的不展示。
select p.*,a.a_name from tb_person p left join tb_address a on p.p_id=a.p_id;

结果B:使用外联时,主表全部显示,子表满足条件的展示,不满足条件的显示为null。
本文深入解析SQL中的left join和inner join的区别与应用场景。通过实例对比,清晰展示两种连接方式在数据展示上的不同,以及如何根据数据量和逻辑需求优化查询效率。
&spm=1001.2101.3001.5002&articleId=103596207&d=1&t=3&u=c64c4fa35a1f4f519ea5446eed7d9b49)
2079

被折叠的 条评论
为什么被折叠?



