分享

【sql in excel】入门21:Union和Union All

 L罗乐 2017-12-09

数据源:



Union和Union All都能够将两个或两个以上的表格(必须列数一样)上下合并。

Union合并:

select 部门,姓名 from [Sheet3$a1:b5]  

union  

select 部门,姓名 from [Sheet3$d1:e5]

结果:


Union All语句:

select 部门,姓名 from [Sheet3$a1:b5]  

union all  

select 部门,姓名 from [Sheet3$d1:e5]

结果:

对比union 和union all,就会发觉union有去重复的功能。

A  AA这条数据有两条,union只保留一条,union all则不处理,保留重复。


遇到列数不相同的表格,又需要上下合并在一起,可以自造字段(列)

数据源:

要求:将两表上下合并,分别对应月份表头。


sql语句:

select 部门,[1月],0 as [2月],[3月],0 as [4月] from [Sheet4$a1:c6]  

union all  

select 部门,[1月],[2月],0 as [3月],[4月] from [Sheet4$f1:i6]


表格没有的月份字段,可以使用 0 as 字段名称,这样造一个字段,来对应两个表格的列数关系。

如:表1,只有1月和3月两个字段,通过下面的语句

select 部门,[1月],0 as [2月],[3月],0 as [4月] from [Sheet4$a1:c6]  

自造了2月和4月两个字段,两个字段中的数据都是0.除了0,也可以用

null as 字段名称来造,但是null对于统计的时候并不方便,如上两章曾说过的count/avg等函数,并不统计null值,所以推荐用0较好。

当然,根据实际情况而定最好。

    本站是提供个人知识管理的网络存储空间,所有内容均由用户发布,不代表本站观点。请注意甄别内容中的联系方式、诱导购买等信息,谨防诈骗。如发现有害或侵权内容,请点击一键举报。
    转藏 分享 献花(0

    0条评论

    发表

    请遵守用户 评论公约

    类似文章 更多