过滤选择查询以仅返回在连接表中没有相应记录的记录

时间:2011-05-16 17:43:43

标签: php sql

TABLE GROUP
group_id | user_id
   1          1

TABLE USERS
user_id | fullname
   1      Juan dela Cruz 
   2      Maria 

我使用foreach循环在我的表users中显示结果,但我想要的是 当我的表user_id中的group存在时,我不希望它再显示出来。我怎样才能实现这一目标?我知道我需要跨桌但不知道从哪里开始我也在考虑使用INNER JOIN,但它会将相同的user_id合并为1。

3 个答案:

答案 0 :(得分:2)

select distinct u.user_id, u.fullname
from USERS u
left outer join GROUP g on u.user_id = g.user_id
where g.user_id is null

答案 1 :(得分:2)

SELECT * FROM users WHERE user_id NOT IN(SELECT user_id FROM group)

答案 2 :(得分:0)

如果我理解你的话:

SELECT * FROM users WHERE user_id <> <ID>