当前位置:
首页 >
Hive(二):with as用法
发布时间:2023/12/20
47
豆豆
生活随笔
收集整理的这篇文章主要介绍了
Hive(二):with as用法
小编觉得挺不错的,现在分享给大家,帮大家做个参考.
在Hive(一):row_number over(partition by,order by)用法中用到了with table as的写法
with t as (select *, row_number()over(partition by id order by salary desc) ranking from tmp_learning_mary) select * from t where ranking = 1;with as 也叫做子查询部分,hive 可以通过with查询来提高查询性能,因为先通过with语法将数据查询到内存,然后后面其它查询可以直接使用。
with as就类似于一个视图或临时表,可以用来存储一部分的sql语句作为别名,不同的是with as 属于一次性的,而且必须要和其他sql一起使用才可以!
其最大的好处就是适当的提高代码可读性,而且如果with子句在后面要多次使用到,这可以大大的简化SQL;更重要的是:一次分析,多次使用,这也是为什么会提供性能的地方,达到了“少读”的目标。
使用注意事项:
1.with子句必须在引用的select语句之前定义,而且后面必须要跟select查询,否则报错。
2.with as后面不能加分号,with关键字在同级中只能使用一次,允许跟多个子句,用逗号隔开,最后一个子句与后面的查询语句之间只能用右括号分隔,不能用逗号。
create table a as with t1 as (select * from firstTable), t2 as (select * from secondTable), t3 as (select * from thirdTable) select * from t1,t2,t3;3.前面的with子句定义的查询在后面的with子句中可以使用。但是一个with子句内部不能嵌套with子句。
with t1 as (select * from firstTable), t2 as (select t1.id from t1) #第二个子句t2中用了第一个子句的查询t1 select * from t2参考链接:
Hive中使用 with as 优化SQL
总结
以上是生活随笔为你收集整理的Hive(二):with as用法的全部内容,希望文章能够帮你解决所遇到的问题。
- 上一篇: 制作符合EIA/TIA标准的RJ-45两
- 下一篇: otc焊接机器人编程模拟软件_OTC焊接