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