Rumah  >  Artikel  >  pangkalan data  >  oracle中in和or的区别是什么

oracle中in和or的区别是什么

WBOY
WBOYasal
2022-01-25 11:31:075517semak imbas

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

oracle中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视频教程

Atas ialah kandungan terperinci oracle中in和or的区别是什么. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan:
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn
Artikel sebelumnya:oracle怎样行列转置Artikel seterusnya:怎样关闭oracle数据库