sqlserver exists和in 与exists和not in
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的更多相关文章
- magento -- 解决magento错误:ERROR: Base table or view already exists: 1050 Table ... already exists
		相信有更新magento或者,备份转移magento站点的时候可能会碰到类似这样的错误提示: Base table or view already exists: 1050 Table ... alr ... 
- oracle中的exists 和not exists 用法   in与exists语句的效率问题
		博文来源(oracle中的exists 和not exists 用法):http://chenshuai365-163-com.iteye.com/blog/1003247 博文来源( in与exi ... 
- sql server if exists和 if not exists 的关键字用法
		if exists和if not exists关键字用法 1.介绍 if not exists 即如果不存在,if exists 即如果存在 2.使用 a.判断数据库不存在时 if not ... 
- in/exists not in/not exists null
		in/not in exists/not exists null的理解 两个测试表 create table tmp01 as with tmp as ( select '1' as id from ... 
- if exists和if not exists关键字用法
		在sql语名中,if not exists 即如果不存在,if exists 即如果存在. 下面学习下二者的用法. a,判断数据库不存在时 代码示例: if not exists(select * f ... 
- SQLServer中exists和except用法
		一.exists 1.1 说明 EXISTS(包括 NOT EXISTS)子句的返回值是一个BOOL值.EXISTS内部有一个子查询语句(SELECT ... FROM...),我将其称为EXIST的 ... 
- SqlServer IF Exists([database]|[table]|[prop]) / Column([Operation])
		*************************** --判断数据库是否存在 IF EXISTS (SELECT * FROM MASTER..sysdatabases WHERE NAME = ' ... 
- 关于T-SQL中exists或者not exists子查询的“伪优化”的做法
		问题起源 在使用t-sql中的exists(或者not exists)子查询的时候,不知道什么时候开始,发现一小部分人存在一种“伪优化”的一些做法,并且向不明真相的群众传递这一种写法“优越性”,实在看 ... 
- SQL Server-聚焦IN VS EXISTS VS JOIN性能分析(十九)
		前言 本节我们开始讲讲这一系列性能比较的终极篇IN VS EXISTS VS JOIN的性能分析,前面系列有人一直在说场景不够,这里我们结合查询索引列.非索引列.查询小表.查询大表来综合分析,简短的内 ... 
随机推荐
- IOS 客户端测试入门.pdf
			IOS 客户端测试入门 http://www.open-open.com/doc/view/42d1257bf67946f595e843bfdbdfeabf 
- IOS NSURL基本操作-备
			NSURL其实就是我们在浏览器上看到的网站地址,这不就是一个字符串么,为什么还要在写一个NSURL呢,主要是因为网站地址的字符串都比较复杂,包括很多请求参数,这样在请求过程中需要解析出来每个部门,所以 ... 
- GO不支持数组通过函数参数更改,有点不一样
			package main import "fmt" func modify(array []int) { array[] = fmt.Println("In modify ... 
- C  和 C++的 不同
			转自: http://studytipsandtricks.blogspot.com/2012/05/15-most-important-differences-between-c.html Basi ... 
- JAVA在线基础教程!
			http://www.runoob.com/java/java-tutorial.html http://www.51zxw.net/list.aspx?cid=380 http://www.weix ... 
- git术语解释staging,index,cache
			当我在使用git的时候,有三个东西的出现,一度让我非常困扰,就如题所述,staging,index,和cache. 比如,当我阅读git官网提供的电子书<Pro Git>的时候,最初一章里 ... 
- tomcat动态映射路径
			写了一个工具类,将上传文件功能保存文件的目录移到webapps目录外面,通过动态生成xml映射文件到tomcat\conf\Catalina\localhost目录下从而实现目录映射.可以被http直 ... 
- git 拆库 切库  切分  子目录建库
			如果git库目录是这样的: git根目录 project_a/ project_b/ ... 并且想为project_a单独创建一个代码库 # 拉一个新分支 git co -b project_a_r ... 
- sdut2623--The number of steps(概率dp第一弹,求期望)
			The number of steps Time Limit: 1000ms Memory limit: 65536K 有疑问?点这里^_^ 题目描写叙述 Mary stands in a st ... 
- intel线程库tbb的使用
			[size=small]首先下载: http://www.threadingbuildingblocks.org/uploads/77/111/2.1/tbb21_20080605oss_win.zi ... 
