通常,我已经习惯了在 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/