雪花

一、left

一、left - right 就是遍历(以左边遍历,以右边遍历) inner join 就是求公共部分的结果集

 

 

 

 left join 查询结果

 

 

 right join结果

 

 

 

 inner join

 解决的办法

 

 

 解决

 

 

INSERT INTO `Test`.`SubGroup` ( `SubG_GroupName`, `Acco_ID`, `SubG_Created`) VALUES ( '我的好友', '12', '2019-09-30 10:17:42');
INSERT INTO `Test`.`User_SubGroup` ( `User_Id`, `SubG_ById`, `Acco_ID`, `UsSu_Created`) VALUES ( '5', '4', '12', '2019-09-30 10:23:55');
INSERT INTO `Test`.`Friend` ( `User_Id`, `Frie_ById`, `Frie_Created`, `Acco_ID`) VALUES ('12', '5', '2019-09-30 10:15:42', '12');

SELECT * FROM SubGroup  -- 分组个体--
SELECT * FROM User_SubGroup  -- 用户分组关系表--

SELECT * FROM Users  -- 好友个体--
SELECT * FROM Friend  --  好友关系--

-- 查询好友 查询好友所在的分组
select 
a.User_Id,
a.User_Name
,c.User_Id as '关系-用户分组_用户id',c.SubG_ById '关系-用户分组-分组id',c.Acco_ID
from Users a  RIGHT JOIN Friend b ON a.User_Id = b.Frie_ById  --  既然这样我就是 查询用户信息 就用Frie_Frie_ById 去用户便遍历寻找 条件就是User_Id
RIGHT JOIN User_SubGroup c ON b.Frie_ById =c.User_Id        -- b.Frie_ById  --查询好友对应的分组   所在分组关系表的找id 在查询详细分组信息 

WHERE  c.Acco_ID=5

 

posted @ 2019-10-13 16:40  十色  阅读(187)  评论(0编辑  收藏  举报