两个字段相同的表联合查询(union的使用)
 
在维护使用的多个表的时候遇到了需要跨表统计信息的需求,经查询可以使用union和union all语句实现
union和union all都是组合多个表的内容然后作为一个表输出。
 
他们的不同点是:
union会去掉重复的行,而union all会全部保留
使用他们时需要注意的是:
所有查询中的列数和列的顺序必须相同(列表内容可以包括:列名、算术表达式、聚合函数等)
 
数据类型必须兼容(结果集中的相应列必须具有相同数据类型,或者两种数据类型之间存在隐性数据转换,或提供了类型转换)
 
下面是具体的例子:
现在有两个表TA和TB,每个表都有Name列和Size列,目标是显示每个Name的Size和,语句如下
[sql] 
select name,sum(size) from (select name,size from TA union select name,size from TB) alias group by name;  

 

 
alias是圆括号中合并(union)的表的别名。