hive中使用with as查询作为临时中间表

oracle、hive都存在with as的用法。用于将重复的查询结果复用。

今天做统计分析时用到,使用例子如下:

1. 直接查询

with tmp_a as (
select f1,f2,f3 from test1
)
select f1,f2,f3 from tmp_a;

2. 多表计算结果join

with tmp_a as (
select f1,f2,f3 from test1
),
tmp_b as(
select f1,f4,f5 from test2
)
select a.f1,a.f2,a.f3,b.f4,b.f5 from
tmp_a a
left join
tmp_b b
on a.f1 = b.f1

 注意点:

with as 最后必须跟sql语句结束,不允许单独使用。

posted @ 2018-12-13 22:15  硅谷工具人  阅读(20537)  评论(0编辑  收藏  举报
成功之道,在于每个人生阶段都要有不同的目标,并且通过努力实现自己的目标,毕竟人生不过百年! 所有奋斗的意义在于为个人目标实现和提升家庭幸福,同时能推进社会进步和国家目标! 正如古人讲的正心诚意格物致知,修身齐家治国平天下。