SqServerl集合运算符通常用于集合之间的运算
在SqlServer中的集合运算符有三种分别是:Union(并集),Intersect(交集),Except(差集)
1.UNION
在SqlServer中UNION是一组集合操作,用于将两个SELECT语句的结果组合到一个结果集中,该结构集包括属于union中SELECT语句的所有行.
SQLServer UNION 的语法如下:
Query_1
UNION
Query_2
上述语法中的查询要求如下:
- 两个查询中列的数量必须是相同.
- 相应列的数据类型必须相同或兼并;
下图说明了T1表的结果集是如何与T2表的结果集联合的
在默认情况下,UNION运算符从结果集中删除所有重复的行.如果要保留重复的行,则需要明确指定ALL关键字
Query_1
UNION ALL
Query_2
UNION与UNION ALL运算符的区别是
UNION运算符删除重复行,
UNION ALL运算符在最终结果集中包含重复行.
2UNION的例子如下;
在Ce数据库中有两个列数量和数据类型相同的dbo.Teacher,dbo.Customers表
通过下面的查询将Tname列合并到一个列表中
因为UNION运算符是从结果集中删除所有重复的行,所以在查询结果中只有一行名为”李四”的列
3UNION ALL的示例:
还是上面的两个表不过将UNION 换成UNION ALL
UNION ALL与UNION不同的是会在最终结果集中包含重复行