开发者社区 > 大数据与机器学习 > 大数据开发治理DataWorks > 正文

DataWorks中with sql 怎么写?

DataWorks中with sql 怎么写?

展开
收起
真的很搞笑 2023-07-01 17:19:53 204 0
2 条回答
写回答
取消 提交回答
  • 北京阿里云ACE会长

    在DataWorks中,WITH语句(也称为公共表表达式)可以用于创建一个或多个公共表达式,然后在主查询中引用这些公共表达式。WITH语句可以提高查询的可读性和性能,尤其是在复杂查询中使用较为常见。

    WITH语句的基本语法如下:

    Copy
    WITH <公共表达式1名称> AS (<公共表达式1的SQL语句>),
    <公共表达式2名称> AS (<公共表达式2的SQL语句>),
    ...
    SELECT ...
    FROM ...
    其中,<公共表达式1名称>、<公共表达式2名称>等为公共表达式的名称,<公共表达式1的SQL语句>、<公共表达式2的SQL语句>等为公共表达式的定义语句,SELECT和FROM子句为主查询语句。

    下面是一个示例:

    n1ql
    Copy
    WITH
    emp_salary AS (
    SELECT emp_id, salary
    FROM employee
    WHERE hire_date > '01-JAN-21'
    ),
    dept_avg_salary AS (
    SELECT dept_id, AVG(salary) avg_salary
    FROM emp_salary
    GROUP BY dept_id
    )
    SELECT d.dept_name, e.emp_name, e.salary, d.avg_salary
    FROM dept d
    JOIN emp_salary e ON d.dept_id = e.dept_id
    JOIN dept_avg_salary s ON d.dept_id = s.dept_id;
    在这个示例中,我们使用了两个公共表达式emp_salary和dept_avg_salary,然后在主查询中引用了这些公共表达式。其中,emp_salary用于过滤在2021年之后入职的员工,dept_avg_salary用于计算每个部门的平均工资。最后,我们通过JOIN操作将

    2023-07-31 21:43:27
    赞同 展开评论 打赏
  • ODPS SQL文档地址:https://help.aliyun.com/document_detail/27860.html?spm=a2c4g.11186623.6.615.2ee74daaM0ibLU,此回答整理自钉群“DataWorks交流群(答疑@机器人)”

    2023-07-01 17:34:05
    赞同 展开评论 打赏

DataWorks基于MaxCompute/Hologres/EMR/CDP等大数据引擎,为数据仓库/数据湖/湖仓一体等解决方案提供统一的全链路大数据开发治理平台。

相关产品

  • 大数据开发治理平台 DataWorks
  • 相关电子书

    更多
    SQL Server 2017 立即下载
    GeoMesa on Spark SQL 立即下载
    原生SQL on Hadoop引擎- Apache HAWQ 2.x最新技术解密malili 立即下载