INNER JOIN 的作用
-
INNER JOIN 只会将相关联表匹配到的数据进行展示 假设我们有两个表:sys_user和 sys_user_role
SELECT s1.* from sys_user s1 INNER JOIN sys_user_role s2 on s1.id =
s2.user_id
这样只会展示s1.id = s2.user_id相匹配到的数据,其他数据不会展示。
LEFT JOIN作用
-
返回左表中的所有记录,如果右表中没有匹配,则结果中右表的列会显示为 NULL。
SELECT * from sys_user s1 LEFT JOIN sys_user_role s2 on s1.id =
s2.user_id
以左表sys_user 为主,匹配之后左表数据全部展示,右表sys_user_role
只展示与左表匹配到的数据,没有匹配到的展示为null
RIGHT JOIN作用
-
返回右表中的所有记录,如果左表中没有匹配,则结果中左表的列会显示为 NULL。
SELECT * from sys_user s1 RIGHT JOIN sys_user_role s2 on s1.id =
s2.user_id
以右表sys_user_role 为主,匹配之后右表数据全部展示,左表sys_user
只展示与右表匹配到的数据,没有匹配到的展示为null
FULL JOIN作用
- 返回两个表中所有的记录,当某一表中没有匹配时,结果中另一表的列会显示为 NULL。