【问题标题】:Syntactical use of WITH in SQL for CTEs and Properties在 CTE 和属性的 SQL 中使用 WITH 的语法
【发布时间】:2021-08-11 17:43:31
【问题描述】:

我知道WITH 在 SQL 中的两种用法:

  1. 表示 CTE(通用表表达式)子句,创建一个临时表以用于当前查询,以及
  2. 在 CTAS (CREATE TABLE AS) 语句中指定属性,例如PrestoAWS AthenaCloudera

但是,在阅读长查询时,我有好几次很难立即区分这两种用法,我一直在想,如果用另一个词来表示这两种用法是否更有意义,以提高可读性并避免歧义。

所以我的问题是:这两种用途是否以某种方式相关?它们是否来自某个共同的根源?

【问题讨论】:

标签: sql common-table-expression amazon-athena presto with-statement


【解决方案1】:

它们根本不相关。 WITH 是一种类似于子查询的语法结构。另一个用于其他目的。

BY 可能在GROUP BYORDER BY 中进行类比。或者 AND 用于 BETWEEN 并作为独立的布尔运算符。他们只是碰巧同名。

【讨论】:

    猜你喜欢
    • 2011-04-10
    • 1970-01-01
    • 1970-01-01
    • 2021-09-10
    • 2012-09-10
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多