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语句结束,不允许单独使用。
所有评论(0)