EXCEPT 和 INTERSECT关键字
时间:2010-09-19 来源:alen88
EXCEPT
从 EXCEPT 操作数左边的查询中返回右边的查询未返回的所有非重复值。
INTERSECT
返回 INTERSECT 操作数左右两边的两个查询均返回的所有非重复值。
A. 使用 EXCEPT
在示例中使用 TableA 和 TableB 中的数据。
TableA (col1 int) | TableB (col1 int) |
---|---|
NULL |
NULL |
NULL |
1 |
NULL |
3 |
1 |
4 |
2 |
4 |
2 |
|
2 |
|
3 |
|
4 |
|
4 |
以下查询从 EXCEPT 操作数左侧的查询返回右侧查询没有找到的所有非重复值。
SELECT * FROM TableA EXCEPT SELECT * FROM TableB; |
下面是结果集:
Col1
-----------
2
(1 row(s) affected)
|
B. 使用 INTERSECT
在示例中使用 TableA 和 TableB 中的数据。
TableA (col1 int) | TableB (col1 int) |
---|---|
NULL |
2 |
NULL |
2 |
NULL |
2 |
1 |
4 |
2 |
4 |
2 |
|
2 |
|
3 |
|
4 |
|
4 |
以下查询返回 INTERSECT 操作数左右两侧的两个查询均返回的所有非重复值。
SELECT * FROM TableA INTERSECT SELECT * FROM TableB; |
下面是结果集:
Col1
-----------
2
4
(2 row(s) affected)
|