码迷,mamicode.com
首页 > 数据库 > 详细

Oracle中 in、exists、not in,not exists的比较

时间:2018-02-07 15:00:44      阅读:235      评论:0      收藏:0      [点我收藏+]

标签:条件   log   acl   使用   img   比较   gpo   not   rac   

最基本的区别:

  • in 对主表使用索引
  • exists 对子表使用索引
  • not in 不使用索引
  • not exists 对主子表都使用索引

写法:

  • exist的where条件是: "...... where exist (..... where a.id=b.id)"
  • in的where条件是: " ...... where id in ( select id .... where a.id=b.id)"

BUG【要特别注意】:

这是用来举例的表

技术分享图片

IN【正常】、NOT IN【不正常】的情况

IN【正常】

技术分享图片

实际转换为执行的SQL等价于

技术分享图片

NOT IN【不正常】
技术分享图片

实际转换为执行的SQL等价于

技术分享图片

修改SQL

技术分享图片

纯手打:麻烦点下推荐支持原创 ((o(^_ ^)o))

Oracle中 in、exists、not in,not exists的比较

标签:条件   log   acl   使用   img   比较   gpo   not   rac   

原文地址:https://www.cnblogs.com/zhuziyu/p/8425845.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!