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

第1个回答  2014-02-08
最简单的写法: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
第2个回答  2014-02-08
这是直接求两个表的交集,可以直接使用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)

本回答被提问者和网友采纳
第3个回答  2014-02-08
select * from a where not exists (select 1 from b where a.id=b.id)