在SQL中,如果我们查询一个班级的考试成绩数据,再统计考试成绩的总和,我们使用以下两条语句:
select StudentName,Grade from Student select '总成绩',SUM(Grade)from Student
执行此两条代码,结果会分别显示在两个表中,我们该如何使两条数据整合在一起?这就用到了union集合运算符,union对两个集合进行操作,两个集合需要有相同的列名,两个集合的列类型应该是相符的,最终列名以第一个集合列名为准。
我们上面的代码片段恰好符合合并的要求,我们只需要在其之间添加union即可
select StudentName,Grade from Student union select '总成绩',SUM(Grade)from Student
除此之外还有一种联合方式为:union all
此联合方式效率更高,因为它不会进行重复查询,而union会清除重复的多余项,相同的数据只会出现一次。