SQL2005学习笔记EXCEPT和INTERSECT运算符

SQL2005学习笔记EXCEPT和INTERSECT运算符
1。简介
除和交叉运算符使您能够比较两个或多个SELECT语句的结果,并返回不可重复的值。
2。差异
操作符之外,操作符返回运算符左边的除操作符返回的值中的所有非重复值,而不是由右查询返回的值。
返回返回在交叉操作符的左侧和右侧返回的所有不可重复的值。
三.注意事项
(1)。与除或交叉比较的结果集必须具有相同的结构,它们必须具有相同的列数,相应的结果集必须与数据类型兼容。
(2)the.intersect运算符之前,除了
(3)the.select必须声明包含相交或除运算符创建一个表,将最终结果集的第一个查询
(4)栏目名称或别名在the.order子句必须引用该列名称由左查询返回
4。实例:
复制代码代码如下所示:
-设置3个表并插入数据
创建表中(col1 int)
插入中选择1
插入中选择1
插入中选择2
Insert into TableA select 3
插入中选择4
插入中选择4
插入中选择5
插入一张选择空
插入一张选择空

创建表TableB(COL2 int)
插入TableB中选择空
插入TableB中选择1
插入TableB中选择2
插入TableB中选择3

创建表tablec(COL3 int)
插入tablec选择1
插入tablec选择5
插入tablec选择6
使用除
发现所有非在一张表col1列重复值不在tablec表col1列存在
从中选择2
除了
选择col3来自Tablec

结果如下:
2

无效的



不使用的SQL 2000的版本实现了除
选择2
作为一个从中
在不存在(选择col3从tablec哪里a.col1 = col3)
组2

——SQL 2000,不在上述结果中不可用
空值的值是未知的。空值不同于空白或零值。没有两个相等的空值。
-将两个空值或空值与任何其他值进行比较,以返回未知值,因为每个空值未知。
-返回或不返回的所有null值都返回到未知状态。
-使用一个空值,不管是否存在,都会产生意想不到的结果。
选择2
从中
其中2没有(选择col3从tablec)
Group by col1

结果如下:
2




前除运算符
操作步骤操作的交叉和tablec TableB第一,然后除中
从中选择2
除了
选择从TableB COL2
横断
选择col3来自TableC

结果如下:
2

无效的




选择应用
——SELECT必须是语句中的第一个查询
我记得使用选择入和联合运算符是相同的规则。
选择2
为# TEM
从中
除了
选择col3
从tablec

SELECT * FROM # TEM
表# TEM

结果如下:
2

无效的



逐项条款
在BY子句中的列名或别名必须引用由左查询返回的列名。
从中选择2
横断
选择col3来自TableC
以2

结果如下:
2



免责声明:本网信息来自于互联网,目的在于传递更多信息,并不代表本网赞同其观点。其原创性以及文中陈述文字和内容未经本站证实,对本文以及其中全部或者部分内容、文字的真实性、完整性、及时性本站不作任何保证或承诺,并请自行核实相关内容。本站不承担此类作品侵权行为的直接责任及连带责任。如若本网有任何内容侵犯您的权益,请及时联系我们,本站将会在24小时内处理完毕。
相关文章
返回顶部