ORACLE--EXISTS

上一篇 / 下一篇  2016-01-10 16:21:03 / 个人分类:Oracle数据库从入门到精通



案例执行机制解析:

1)首先从emp表中查出一条数据,提供给子查询逐条进行匹配,由此知绿色标记的数据都不满足匹配条件,故无查询结果返回;

2)deptno=10的一条数据出现,与mydept的第一条数据进行匹配上,那么便会直接接该条emp表中的数据查出;后面则不会在执行下去匹配40;

反之:NOT EXISTS 举例说明


 

总结一:EXISTS和NOT EXISTS 在使用时 (NOT)EXISTS后跟的语句不再会返回的结果是什么,主要关注的是mydept表中是否存在与emp相匹配的数据,一旦满足条件便会将emp表中的该条记录数据查询出来,emp表中该行数据也不会再与mydept表中剩余的数据进行匹配。

基于此原理可以知道EXISTS和NOT EXISTS的使用场所:

select * from T1 where exists(select 1 from T2 where T1.a=T2.a) ; 

当T1数据量小,而T2数据量非常大时,T1<<T2 时,该语句的的查询效率高。

 

2、EXISTS 和 in的区别及联系


TAG:

 

评分:0

我来说两句

日历

« 2024-05-17  
   1234
567891011
12131415161718
19202122232425
262728293031 

我的存档

数据统计

  • 访问量: 2651
  • 日志数: 4
  • 建立时间: 2016-01-05
  • 更新时间: 2016-01-10

RSS订阅

Open Toolbar