exists可以说是oracle数据库开发中比较常见的用法,用exists可以提高sql的效率,可以取代in。
比如 a,b 关联列为 a.id = b.id,现在要取 a 中的数据,其中id在b中也存在:
select * from a where exists(select 1 from b where a.id = b.id)
现在要取 a 中的数据,其中id在b中 不存在:
select * from a where not exists(select 1 from b where a.id = b.id)