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: