NULL
NULL
2
NULL
1
2
NULL
3
2
1
4
4
2
4
4
2
2
3
4
4
使用 EXCEPT,以下查询将返回由 EXCEPT 操作数左侧的查询返回、而又不包含在右侧查询所返回的值中的所有非重复值。
SELECT * FROM TableA EXCEPT SELECT * FROM TableB结果如下:
Col1 ----------- 2 (1 row(s) affected)使用 INTERSECT,此查询将返回由 INTERSECT 运算符左侧和右侧的查询都返回的所有非重复值。
SELECT * FROM TableA INTERSECT SELECT * FROM TableB结果如下:
Col1 ----------- NULL 1 3 4 (4 row(s) affected)INTERSECT 运算符优先于 EXCEPT。例如,以下查询使用了这两个运算符:
SELECT * FROM TableA EXCEPT SELECT * FROM TableB INTERSECT SELECT * FROM TableC结果如下:
Col1 ----------- NULL 1 2 3 (4 row(s) affected)