mysql的 left join ,right join 和 inner join的区别

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/qq_15061629/article/details/81813917

1.left join的使用

SELECT tu.*,tr.* from t_a_user AS tu LEFT JOIN t_a_user_role as tur on tu.id = tur.user_id  LEFT JOIN t_a_role AS tr ON tur.user_id = tr.id;

 

显示所有的用户信息包含某个用户在中间表中没有数据,也就是没有角色的用户也会显示;

2.inner join的使用

SELECT tu.*,tr.* from t_a_user AS tu INNER JOIN t_a_user_role as tur on tu.id = tur.user_id  INNER JOIN t_a_role AS tr ON tur.user_id = tr.id;

显示中间表中的关联信息才会显示,也就是说有个用户必须拥有角色才会显示,没有角色信息是不会显示的;且的关系

3.right join的使用

SELECT tu.*,tr.* from t_a_user AS tu RIGHT JOIN t_a_user_role as tur on tu.id = tur.user_id  RIGHT JOIN t_a_role AS tr ON tur.user_id = tr.id;

显示所有的角色信息包括没有分配给用户的角色信息

猜你喜欢

转载自blog.csdn.net/qq_15061629/article/details/81813917