两个表数据比较,返回缺少的部份,SQL SERVER EXCEPT、 INTERSECT、UNION用法

SQLServer中通过intersect,union,except和三个关键字对应交、并、差三种集合运算。

一、EXCEPT 取差集(取A-B的记录)

EXCEPT主要是用来获取两个结果集的差;两个结果用EXCEPT链接,返回第一个结果集不在第二个结果集中的数据。

SELECT   field1 ,field2
FROM    table1
EXCEPT
SELECT  field1 ,field2
FROM    table2

二、INTERSECT 取交集,比较两个表反回两个表中相同的部份

SELECT   field1 ,field2
FROM    table1
INTERSECT 
SELECT  field1 ,field2
FROM    table2

三、UNION 取合集并过滤重复数据

SELECT   field1 ,field2
FROM    table1
UNION
SELECT  field1 ,field2
FROM    table2

四、UNION ALL 取合集不过滤重复数据

SELECT   field1 ,field2
FROM    table1
UNION ALL
SELECT  field1 ,field2
FROM    table2

你可能感兴趣的:(SQL)