深入SQL SERVER合并相关操作Union,Except,Intersect的详解

时间:2021-07-29 23:19:48

对于结果集有几个处理,值得讲解一下
1. 并集(union,Union all)
这个很简单,是把两个结果集水平合并起来。例如
SELECT * FROM A
UNION
SELECT * FROM B

【注意】union会删除重复值,也就是说A和B中重复的行,最终只会出现一次,而union all则会保留重复行。

深入SQL SERVER合并相关操作Union,Except,Intersect的详解


2. 差异(Except)
就是两个集中不重复的部分。例如
SELECT * FROM A
EXCEPT
SELECT * FROM B

这个的意思是,凡是不出现在B表中的A表的行。

深入SQL SERVER合并相关操作Union,Except,Intersect的详解


3. 交集(intersect)
就是两个集*同的部分。例如
SELECT * FROM A
INTERSECT
SELECT * FROM B

这个的意思是,同时出现在A和B中的记录

深入SQL SERVER合并相关操作Union,Except,Intersect的详解