加入多个表格

时间:2016-04-22 09:18:53

标签: mysql

我有5张如下表

user
id     name      
11     rajesh
12     kumar

group 
id     name
21     sales
22     dev

domain
id     name    
51     network        
52     database

user_group
user_id     group_id    
11          21        

user_domain
user_id     domain_id    
12          51 

我需要检索属于至少一个组或域的所有用户。这是我用来连接两个表的查询。

select user.name from user join user_domain on user.id=user_domain.user_id

我可以加入表用户和组。但与此同时我还需要加入用户和域名。当我尝试下面的结果时,我的结果为零。

select user.name from user 
left join user_group on user.id=user_group.user_id 
join user_domain on user.id=user_domain.user_id

如果我改为左边加入,就像下面一样,我得到了所有用户。

select user.name from user 
left join user_group on user.id=group.user_id 
left join user_domain on user.id=user_domain.user_id

请告知

1 个答案:

答案 0 :(得分:1)

这还不够吗?

SELECT `id`
FROM `user` JOIN `user_group` ON `user`.`id` = `user_group`.`user_id`
UNION
SELECT `id`
FROM `user` JOIN `user_domain` ON `user`.`id` = `user_domain`.`user_id`;