SQL中exists和in的区别
程序员文章站
2022-07-05 22:54:16
1.exist,not exist一般都是与子查询一起使用. In可以与子查询一起使用,也可以直接in (a,b.....)。
2.exist会针对子查询的表使用索引. not...
1.exist,not exist一般都是与子查询一起使用. In可以与子查询一起使用,也可以直接in (a,b.....)。
2.exist会针对子查询的表使用索引. not exist会对主子查询都会使用索引. in与子查询一起使用的时候,只能针对主查询使用索引. not in则不会使用任何索引. 注意,一直以来认为exists比in效率高的说法是不准确的。
3.in 是把外表和内表作hash 连接,而exists是对外表作loop循环,每次loop循环再对内表进行查询。
推荐阅读
-
windows 中 \r\n 区别于 类unix中的\n 疑问理解(crlf回车换行)
-
ASP.NET中的参数与特殊类型和特性
-
PHP中的排序函数sort、asort、rsort、krsort、ksort区别分析
-
OpenGL关于glStencilFuncSeparate()和glStencilFunc()函数的区别讲解
-
js中关于typeof与instanceof的区别讲解
-
为什么象棋中的老将和帅不能见面 看看那条河就知道了
-
揭秘历史上真实的于成龙 他和电视剧演的有什么区别
-
猕猴桃黄心和绿心猕猴的的区别,你知道多少
-
红茶和绿茶的区别?不同季节要喝不同的茶
-
Shell中set与shopt命令选项的含义和使用示例