第1个回答 2022-06-05
SQL语句中LEFT JOIN和RIGHT JOIN 以及INNER JOIN的区别
user表:
role表:
文字说明一下:
left join(左联接) 返回包括左表中的所有记录和右表中联结字段相等的记录
right join(右联接) 返回包括右表中的所有记录和左表中联结字段相等的记录
inner join(等值连接) 只返回两个表中联结字段相等的行
sql:
查询结果:
结果说明:
left join是以A表的记录为基础的,A可以看成左表,B可以看成右表,left join是以左表为准的。
说人话就是:A表的记录会全部展示,B表只展示符合条件的记录,然后B表不不符合条件的地方均用NULL补足
sql:
查询结果:
结果说明:查询结果和left join的结果刚好相反,这次是以B表为基础的,A表不足的地方用NULL补足。
sql:
查询结果:
结果说明:结果只展示了符合条件的记录,并不以谁为基准