下麵的testa表沒有數據,dept表有數據。直接select,有數據就會有結果集。 plsql的exists用於判斷子查詢是否有結果集返回,“exists (子查詢)”子查詢只要結果集有數據,則exists判斷為true,否則為false,不管結果集數據是什麼,是1啊是2啊或者很多列,只要結果集不 ...
下麵的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條件的查詢。