• 技术文章 >数据库 >Oracle

    oracle中in和or的区别是什么

    长期闲置长期闲置2022-01-25 11:31:07原创68

    区别:1、in把父查询表和子查询表作hash连接,而or是对父查询表作loop循环,再对子查询表进行查询;2、在没有索引的情况下数据量越多,in的执行效率不会有太大的下降,而or的执行效率会有明显的下降。

    本教程操作环境:Windows10系统、Oracle 11g版、Dell G3电脑。

    oracle中in和or的区别是什么

    a in (1,2,3)(a = 1 or a = 2 or a = 3)

    a = 1 && b = 2 or a = 3相当于(a = 1 && b =2 ) 与 a = 3 条件的并集

    or 是或者 两个条件满足一个就可以

    in 用在于包含 比如select * from 表 in (一段语句或者几个值 )

    or:最多满足两个条件 in:满足更多的条件

    操作不同

    1、in:in是把父查询表和子查询表作hash连接。

    2、or:or是对父查询表作loop循环,每次loop循环再对子查询表进行查询。

    适合不同

    1、in:in适合用于子查询表数据比父查询表数据多的情况。

    2、or:or适合用于子查询表数据比父查询表数据少的情况。

    07.png

    执行效率不同

    1、in:在没有索引的情况下,随着in后面的数据量越多,in的执行效率不会有太大的下降。

    2、or:在没有索引的情况下,随着or后面的数据量越多,or的执行效率会有明显的下降。

    推荐教程:《Oracle视频教程

    以上就是oracle中in和or的区别是什么的详细内容,更多请关注php中文网其它相关文章!

    声明:本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn核实处理。
    专题推荐:oracle
    上一篇:oracle怎样行列转置 下一篇:怎样关闭oracle数据库

    相关文章推荐

    • oracle怎样查询库名• oracle数据修改语句是什么• 手把手教你完全掌握Oracle注入的小细节• oracle怎样修改sga• oracle怎样增加表空间文件

    全部评论我要评论

  • 取消发布评论发送
  • 1/1

    PHP中文网