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

sqlserver exists和in 与exists和not in

时间:2015-03-02 16:20:09      阅读:247      评论:0      收藏:0      [点我收藏+]

标签:

1、exists 和 in

1.1 正常情况下exists和in的效果是一样的,如图试验

 

技术分享

即使子查询中包含null也没有关系,依然可以正常使用

1.2 in 和 exists效率比较

先看in

技术分享

由图中可以100万的数据 用in的时间是14秒

技术分享

用exist的时间也是14秒。

总结的规律是in和exists查询的效率相差不多

 2、not in 和not exists

 技术分享

可以看出not in 如果子查询中有NUL将不会出现任何值。

所以再用not in时,最好在子查询中加上is not null

如图:

技术分享

由图可知加上限制正常显示了。


再看Not exists

技术分享

可以看出即使子查询寻有null,依然可以查出正确的数据

 2.2 在效率方面 not in 和no exists也是相差不多

sqlserver exists和in 与exists和not in

标签:

原文地址:http://www.cnblogs.com/honghong75042/p/4308786.html

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