oracle中两张表A,B;AB有一相同字段,如何判断A字段的值,是否在表B中

表A: ID 表B: ID
1 1
2 2
3 4
4 5
5
6
7
8

也就是我要找出A表中没有出现在B表中的那些ID
最新回答
茵沫

2024-09-14 00:03:52

最简单的写法:SELECT ID FROM 表A WHERE ID NOT IN (SELECT ID FROM 表B)
或者用外联:SELECT a.ID FROM 表A a LEFT JOIN 表B b ON a.ID <>b.ID
逝去的终将逝去

2024-09-14 00:06:46

这是直接求两个表的交集,可以直接使用INTERSECT
select id from a
intersect
select id from b
追问
不是,我这是求B表的补集呀
追答
你这是求表a中不在表b中的数据吗?
追问
是的呀
追答
select id from a where id not in (select id from b)
相爱到放下

2024-09-14 00:00:21

select * from a where not exists (select 1 from b where a.id=b.id)