Hive学习之Union和子查询

33 篇文章 17 订阅 ¥9.90 ¥99.00
32 篇文章 31 订阅 ¥9.90 ¥99.00

       Hive中的Union查询已经使用过多次,但在使用之前都没有系统的学习过Union的语法格式(虽然在使用过程中没有出现过问题),所以现在将这一点补上。Union的语法格式如下:

select_statement UNION ALL select_statement UNION ALL select_statement ...

      Union用于将多个SELECT语句的查询结果合并到一个结果集中,目前Hive只支持UNION ALL,也就是结果集中的重复记录不会被删除。SELECT语句返回列的数目和名称必须相同,否则会报schema错误。Union语句还可以嵌套在FROM子句中:

SELECT *
FROM (
  select_statement
  UNION ALL
  select_statement
) unionResult

      在Hive-0.12.0及之前的版本中,Union只能在子查询中使用,在Hive-0.13.0版本中,去除了该限制,Union查询可以作为独立的查询使用(在实际使用过程中,以多次使用该方式)。

      看过了Union后,现在来看看子查询。在Hive-0.12.0及之前的版本中子查询只能出现在FROM子句中,且必须给定一个名称,因为每个在FROM子句中的表必须拥有名称。子查询中的列必须有唯一的名称,子查询中的列在外部查询中可以像表中的列那样使用,子查询也可以是Union查询,Hive支持任意层的子查询。具体语法如下:

SELECT ... FROM (su
  • 0
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值