union和union all 的写法

作者: 张_756c | 来源:发表于2018-02-07 10:53 被阅读10次

    union和union all 都是将两个相同列数的表 从上到下拼接起来:例如下图

    使用union或者union all 之后的结果是

    1、在mysql中都可以使用 union 或者union all,在hive sql中 只能使用union all

    2、Union 使用后,将相同的两行或者几行数据去重保留一行,union all的使用结果是将相同的几行数据也保留下来,例如

    3、Union使用时,需要列数相同,类型可以不同,union all 则都需要相同

    4、Union和union all 的sql 基本写法

    Select * from A

    Union

    Selec * from B

    结果如表A1

    Select * from A

    Union all

    Selec * from B

    结果如表A2

    5、Union和union all 的group by写法:求出每个人都有多少钱

    Select

    Name,

    sum(Money)

    from

    (Select Name,sum(Money ) as m from C group by Money

    Union

    Select Name,Cote as m from D)tab

    Group by Name

    结果如图,union 在C表里面先进行了group by 求和,然后再拼接求和

    Select

    Name,

    sum(Money)

    from

    (Select Name,sum(Money ) as m from C

    Union all

    Select Name,Cote as Money from D)tab

    Group by Name

    Union all 先进行拼接,再求和,它的结果也是上图

    相关文章

      网友评论

        本文标题:union和union all 的写法

        本文链接:https://www.haomeiwen.com/subject/jusozxtx.html