表A:
id Name
1 a
2 b
3 c
4 d
5 e
表B:
id Name
3 c
4 d
5 e
此处,id是连接到表B的主键。
我需要这样的输出: -
id
1
2
这意味着,表B中的哪些ID不在表B中
答案 0 :(得分:3)
使用EXCEPT
运算符:
select id from tableA
except
select id from tableB
答案 1 :(得分:1)
使用Not in
声明。
试试这个: -
Select id from TableA
where id not in (Select id from TableB);
答案 2 :(得分:1)
您可以使用left join
,如果右侧没有匹配的记录,则会保留左侧的所有记录并将其与null
相关联。
这样,您可以在右侧列上过滤为null以获得所需的结果
select t1.id
from tableA t1
left join
tableB t2
on t1.id = t2.id
where t2.id is null
答案 3 :(得分:1)
在WHERE子句中使用NOT EXISTS
SELECT id FROM TableA A
WHERE NOT EXISTS(SELECT 1 FROM TableB B WHERE A.id = B.Id )
答案 4 :(得分:0)
您可以使用minus
:
select * from tableA
minus
select * from tableB