我的数据库中有两张表,用户和礼物。用户表获得了id和数据,礼品表获得了gift_id,user_id和data。
与users.id相关联的gitst.user_id
如何从礼品表中获取未出现在用户表中的所有user_id?
答案 0 :(得分:1)
一种方法是使用except
运算符。
select user_id from gifts
except
select id from users
Except
为您提供两组的差异。
让我们说集A = {1,2,3} B = {3,4,5,6}。
A-B = {1,2},因为3
存在于两个集合中,1,2存在于A但不存在于B
B-A = {4,5,6} 3对两组都是共同的,4,5,6存在于B中但不存在于A
中您也可以
select user_id from gifts
where user_id not in (select id from users)
或
select user_id from gifts g
where not exists (select 1 from users where id = g.user_id)
答案 1 :(得分:0)
select user_id from gifts not exists(select id from users)