Oracle/PLSQL的EXISTS使用

下面的testa表没有数据,dept表有数据。直接select,有数据就会有结果集。

    

 

plsql的exists用于判断子查询是否有结果集返回,“exists (子查询)”子查询只要结果集有数据,则exists判断为true,否则为false,不管结果集数据是什么,是1啊是2啊或者很多列,只要结果集不为0条数据,就是true。

select *
  from EMP t
 where exists (select 1 from DEPT d where d.deptno = t.deptno);
select *

 

exists前面可以加 not,就是not exists 。

exists除了用在select的子查询中,也能用在update、delete、insert的where子查询里。

exists性能:因为子查询对于外部查询表中的每一行都是RE-RUN,效率低,尽量不编写EXISTS条件的查询。

 

posted @ 2020-05-23 14:08  舒碧  阅读(4538)  评论(0编辑  收藏  举报