微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

在 CTE 和属性的 SQL 中使用 WITH 的语法

如何解决在 CTE 和属性的 SQL 中使用 WITH 的语法

我知道 WITHsql 中的两种用法

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

但是,在阅读长查询时,我有好几次都难以立即将这两种用法区分开来,我一直在想,如果为这两者之一使用另一个词会更有意义,以提高可读性并避免歧义。

所以我的问题是:这两种用法是否有某种关联?它们是否源于某个共同的根源?

解决方法

他们根本没有关系。 WITH 是一种类似于子查询的句法结构。另一个用于其他目的。

BYGROUP BY 中的 ORDER BY 的类比。或者 AND 用于 BETWEEN 并作为独立的布尔运算符。他们只是碰巧有相同的名字。

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。