2020年5月23日星期六

Oracle/PLSQL的EXISTS使用

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

 


没有评论:

发表评论