SQL中 EXCEPT、INTERSECT用法
来源:互联网 发布:单片机程序编写教程 编辑:程序博客网 时间:2024/04/29 02:35
文章地址:http://www.cnblogs.com/dyufei/archive/2009/11/11/2573976.html
EXCEPT 返回两个结果集的差(即从左查询中返回右查询没有找到的所有非重复值)。
INTERSECT 返回 两个结果集的交集(即两个查询都返回的所有非重复值)。
UNION返回两个结果集的并集。
语法:
{ (<SQL-查询语句1>) }
{ EXCEPT | INTERSECT }
{ (<SQL-查询语句2> )}
限制条件
- (1)所有查询中的列数和列的顺序必须相同。
- (2)比较的两个查询结果集中的列数据类型可以不同但必须兼容。
- (3)比较的两个查询结果集中不能包含不可比较的数据类型(xml、text、ntext、image 或非二进制 CLR 用户定义类型)的列。
- (4)返回的结果集的列名与操作数左侧的查询返回的列名相同。ORDER BY 子句中的列名或别名必须引用左侧查询返回的列名。
- (5)不能与 COMPUTE 和 COMPUTE BY 子句一起使用。
- (6)通过比较行来确定非重复值时,两个 NULL 值被视为相等。(EXCEPT 或 INTERSECT 返回的结果集中的任何列的为空性与操作数左侧的查询返回的对应列的为空性相同。)
与表达式中的其他运算符一起使用时的执行顺序
- 1、括号中的表达式
- 2、INTERSECT 操作数
- 3、基于在表达式中的位置从左到右求值的 EXCEPT 和 UNION
如果 EXCEPT 或 INTERSECT 用于比较两个以上的查询集,则数据类型转换是通过一次比较两个查询来确定的,并遵循前面提到的表达式求值规则。
举例:
tableA tableB
NULLNULLNULL2131425354 5A:(SELECT * FROM TableA) EXCEPT (SELECT * FROM TableB)
结果: 1
(1 row(s) affected)
B: SELECT * FROM TableA INTERSECT SELECT * FROM TableB
结果:2
3
4
5
(4 row(s) affected)
0 0
- SQL中 EXCEPT、INTERSECT用法
- SQL中 EXCEPT、INTERSECT用法
- SQL中 EXCEPT和INTERSECT用法
- sql except和INTERSECT用法
- SQL Server 2005中Except和Intersect的用法示例
- SQL Server 中关于EXCEPT和INTERSECT的用法
- SQL Server 中关于EXCEPT和INTERSECT的用法
- SQL Server 中关于EXCEPT和INTERSECT的用法
- SQL Server 中关于EXCEPT和INTERSECT的用法
- SQL Server 中关于EXCEPT和INTERSECT的用法
- SQL Server 中关于EXCEPT和INTERSECT的用法
- SQL Server 中关于EXCEPT和INTERSECT的用法
- SQL Server 中关于EXCEPT和INTERSECT的用法
- SQL Server 中关于EXCEPT和INTERSECT的用法
- SQL Server 中关于EXCEPT和INTERSECT的用法
- SQL Server 中关于EXCEPT和INTERSECT的用法
- SQL中union,except,intersect使用方法
- SQL中Union,Intersect,Except的区别
- css设置文本超出两行 末尾用省略号表示
- tools:context=".MainActivity的作用
- Python模块学习系列(7)----copy模块
- android 相关资源
- 利用urllib2实现http post请求源码示例
- SQL中 EXCEPT、INTERSECT用法
- 第40届ICPC EC-final 总结
- VBA 中 do-loop,do-while-loop,do-until-loop,for-each-next 的小例子
- 项目记录09-- BaseLoader加载AssetBundle
- 最快让你上手ReactiveCocoa之基础篇
- 设计模式之旅 --- 装饰者模式
- Android Studio 多渠道打包(一)
- Android关于buildToolVersion与CompileSdkVersion的区别
- Struts 2.3 类型转换