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条件的查询。

 


免责声明!

本站转载的文章为个人学习借鉴使用,本站对版权不负任何法律责任。如果侵犯了您的隐私权益,请联系本站邮箱yoyou2525@163.com删除。



 
粤ICP备18138465号  © 2018-2025 CODEPRJ.COM