sql - 为什么别名放在postgresql中的 'AS'中的 'WITH subquery'关键字前面

标签 sql postgresql

通常,我已经习惯了在 SQL 语句中的“AS”关键字右侧使用别名。但是,在“WITH”子查询中情况并非如此(至少在 Postgres 中)。例如你会写:

WITH foo AS (SELECT column1, column2 FROM ....).

为什么会这样?我们在 postgres 中还有其他类似的案例吗?这是 SQL 标准吗?

最佳答案

可能与命名 View 时将“别名”放在as 前面的原因相同。

最终的答案是 SQL 标准使用这种语法定义了公共(public)表表达式。我认为没有人指责 SQL 过于一致,但我实际上认为您的问题是合理的。这似乎是一个语法陷阱,可能会使学习 SQL 的人感到困惑。

关于sql - 为什么别名放在postgresql中的 'AS'中的 'WITH subquery'关键字前面,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33985532/

相关文章:

sql - 跨多个表查询避免联合所有

c# - 使用 C# 和 asp.net 将 CSV 文件导入 SQL

sql - 检索两个用户之间的最后一条消息

postgresql - 需要帮助将 Postgresql 9.1 数据库连接到 Tomcat 8 服务器

php - 这个 ~* 语法在 sql 查询中的作用是什么?

postgresql - 我怎样才能找到 shp2pgsql?

SQL 使用 max() 进行多个内连接以获取最新记录的条目

mysql - 折叠窗口间隔

mysql - 第 3 行的 mysql 语法问题,不确定代码有什么问题

postgresql - 列 "xxxx"的默认值无法自动转换为在 Postgres DB 中键入 bool 值