hive中的with,提供了一个子查询的功能,通过with …as,将一部分查询数据存储在内存中,提供给下一次的查询使用。
with v1 as ( …sql 语句) select * from v1 ;
with v1 as ( select * from table1 ), with v2 as (select * from table2)
select * from v1 left jion v2 on v1.id = v2.id
通过 with as 对子查询的数据进行管理,方便直接嵌套,便于维护。
with .. as ( sql 语句) select ..时, 在使用with as 创建的子查询时, select直接跟着,不用使用逗号