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
在
一
五