首页 > 代码库 > UNION并集运算

UNION并集运算

  在集合论中,两个集合(集合A和集合B)的并集是一个包含集合A和B中所有元素的集合。换句话说,如果一个元素属于任何一个输入集合,那么它也属于结果集。如图所示。

 

UNION集合运算分为UNION ALL和UNION DISTINCT两种情形,它们的区别是UNION ALL会保留重复行,而UNION DISTINCT会删除重复行。下面用例子来说明。

UNION ALL

UNION ALL合并两个集合,并保留重复行。例如。

SQL查询代码:

USE TSQLFundamentals2008;GO-- UNION ALL合并两个集合,并保留重复行SELECT country,region,city FROM HR.EmployeesUNION ALLSELECT country,region,city FROM Sales.Customers

查询结果:

UNION DISTINCT

UNION DISTINCT会合并两个集合,但是它会删除重复行。例如。

SQL查询代码:

USE TSQLFundamentals2008;GO-- UNION(隐含DISTINCT)合并两个集合,但会删除重复行SELECT country,region,city FROM HR.EmployeesUNIONSELECT country,region,city FROM Sales.Customers

查询结果:

注意:比上面的查询少了29条记录,当然这些记录都是因为重复行被删除了。