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。