Oracle/PLSQL的EXISTS使用

时间:2020-05-23 14:50:08   收藏:0   阅读:53

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

 

原文:https://www.cnblogs.com/bibi-feiniaoyuan/p/plsql_exists.html

评论(0
© 2014 bubuko.com 版权所有 - 联系我们:wmxa8@hotmail.com
打开技术之扣,分享程序人生!