zoukankan      html  css  js  c++  java
  • hive里面union all的用法记录

    UNION用于联合多个select语句的结果集,合并为一个独立的结果集,结果集去重。

    UNION ALL也是用于联合多个select语句的结果集。但是不能消除重复行。现在hive只支持UNION ALL。

    这里需要特别注意,每个select语句返回的列的数量和名字必须一样,同时字段类型必须完全匹配,否则会抛出语法错误。

    字段名称一样,并不是必须完全一样,比如下面这个例子:

    例一:字段名完全一样

    select a,b,c from t1

    union all

    select a,b,c from t2

    例二:字段名前面有表名不一致,其他一致

    select t1.a,t2.b,t2.c from t1

    inner join t2 on t1.a = t2.a

    union all

    select t3.a,t4.b,t4.c from t3

    inner join t4 on t3.a = t4.a

    这两个例子都不报错

    例三:第一个查询第二个字段重命名为k,与第二个查询字段名不一样了,此时会报错

    select a,'' as k,c from t1

    union all

    select a,b,c from t2

    会报编译错误

    编译错误:SemanticException The abstract syntax tree is null

  • 相关阅读:
    [GEF]实现模板功能
    一篇WTP文章
    写代码的代码:JET
    投票选择eclipse.org的新界面
    在SWT里显示AWT对象
    Plugin.xml > Manifest.mf
    关于本体编程的实现
    一个用OWLS组装Web服务的例子
    感受Ruby on Rails
    通过OCP考试
  • 原文地址:https://www.cnblogs.com/xiyouzhi/p/9712551.html
Copyright © 2011-2022 走看看