您的位置首页百科知识

关于查询语句中的in和exists的区别

关于查询语句中的in和exists的区别

的有关信息介绍如下:

问题补充说明:谁来告诉我in和exists的区别,最好能举个例子,为什么一般exists的效率比in的高,他们的具体执行过程是怎么样的,请详述~~~~谢谢大侠们~~~

关于查询语句中的in和exists的区别

区别:in是关系运算符360问答,exists是相关子查就脸告王力章询。

exists的效率比in高的说法回约雷影组不正确,要看具体情况,尽可能利用索引。

例:设有两个表td(大表)和tx(小表),看下面的查询:

1、select*fromtdwhere升粒协妈colin(selectcolfromtx);--利用了td的索引

select*fromtdwhereexis席天担及飞ts(selectcolfromtxwherecol=td.col);--利用tab2的索引

结果:第一句效率高。

2、select*fromtxwherecolin(selectcolfromtd);--利用了tx的索引

sel一浓等层块图善益历令配ect*fromtxwhereexists(危简李全加selectcolfromtdwherecol=tx.col);--利用了td的索引

结果:第二句效率台自普书居拿高。