首页 > 数据库技术 > 详细

oracle exists / in

时间:2015-03-17 13:49:08      阅读:376      评论:0      收藏:0      [点我收藏+]

exists  先从外层查询中取第一个元组,然后和内层查询中相关的属性值,处理内层查询,若内层where子句为真,则外层的这个元组放入到结果集中。

in 先执行内层查询,将结果存放在临时表中,然后执行外层查询。

in 不对null进行处理,见下图,没有返回结果。

技术分享

总结:

内层查询得出的结果集记录较少,外层查询中得到的结果集较大且有索引,适合用in。

外层查询得出的结果集记录较少,内层查询中得表较大其有索引,适合用exists。

外层查询得出的结果集记录较多,内层查询中得到的结果集较小,适合用not in。

外层查询得出的结果集记录较少,内层查询中得表较大其有索引,适合用not exists。

oracle exists / in

原文:http://www.cnblogs.com/lion88/p/4343982.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!