SQL语句中LEFT JOIN和RIGHT JOIN 以及INNER JOIN的区别

如题所述

第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:

查询结果:

结果说明:结果只展示了符合条件的记录,并不以谁为基准
相似回答