专栏首页文渊之博hive with as 语法

hive with as 语法

简介

with...as...需要定义一个sql片段,会将这个片段产生的结果集保存在内存中, 后续的sql均可以访问这个结果集和,作用与视图或临时表类似.

语法说明

  1. with...as...必须和其他语句一起使用
  2. with...as...是一次性的

with...as...的示例如下:

-- with table_name as(子查询语句) 其他sql 
with tmp as (
    select * from xxx
)
select * from tmp;

同级的多个临时表之间用,as后的子句必须用(),

with tmp1 as (
    select * from xxx
),tmp2 as (
    select * from xxx
)
select * from tmp1,tmp2;

with...as...使用嵌套的例子:

with tmp2 as (
    with tmp1 as (
        select * from xxx
    )
    select * from tmp1
)
select * from tmp2;

优点

  1. 提高代码可读性(结构清晰)
  2. 简化sql,优化执行速度(with子句只需要执行一次)

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

我来说两句

0 条评论
登录 后参与评论

相关文章

  • Hive中使用 with as 优化SQL

    当我们书写一些结构相对复杂的SQL语句时,可能某个子查询在多个层级多个地方存在重复使用的情况,这个时候我们可以使用 with as 语句将其独立出来,极大提高S...

    木野归郎
  • Hive 中的复合数据结构简介以及一些函数的用法说明

    目前 hive 支持的复合数据类型有以下几种: map (key1, value1, key2, value2, ...) Creates a map wit...

    用户1177713
  • Spark UDF实现demo

    使用Spark开发代码过程时,很多时候当前库中的算子不能满足业务需求。此时,UDFs(user defined functions) 派上非常大的作用。基于Da...

    mikeLiu
  • sql学习~with as用法

    但是,这个结果集被称作:公用表表达式(CTE) - common_table_expression

    Vincent-yuan
  • 【Hive】DDL 与 DML 操作

    删除数据库的模型行为是 RESTRICT,如果数据库不为空,需要添加 CASCADE 进行级联删除。

    阿泽 Crz
  • HAWQ与Hive查询性能对比测试

    一、实验目的         本实验通过模拟一个典型的应用场景和实际数据量,测试并对比HAWQ内部表、外部表与Hive的查询性能。 二、硬件环境 1. 四台VM...

    用户1148526
  • Apache Hive With

    一般情况,with 查询用到多次情况下,在引用select语句之前定义,同级只能定义with关键字只能使用一次,多个用逗号分割。

    DataScience
  • Flink 1.11:更好用的流批一体 SQL 引擎

    许多的数据科学家,分析师和 BI 用户依赖交互式 SQL 查询分析数据。Flink SQL 是 Flink 的核心模块之一。作为一个分布式的 SQL 查询引擎。...

    数据社
  • Hive使用十六进制分隔符异常分析

    通过sqoop抽取Mysql表数据到hive表,发现hive表所有列显示为null

    Fayson

扫码关注云+社区

领取腾讯云代金券