Postgres查询列名之间没有逗号

时间:2014-12-02 09:35:06

标签: select postgresql-9.3

如果我运行查询(列名之间没有逗号)

SELECT columnA columnB FROM someTable

Postges返回第一列。我预计会有错误.. 这种行为的目的是什么?

2 个答案:

答案 0 :(得分:0)

关键字as对于列别名是可选的,因此columnBcolumnA的别名。

您的陈述相当于:

SELECT columnA as columnB 
FROM someTable

答案 1 :(得分:0)

您可以为选择列表中的列指定列标签。例如:

SELECT columnA my_col FROM someTable;

此处columnA是表someTable中的实际列,my_col是分配给columnA的标签。

您的查询是:

SELECT columnA columnB FROM someTable;

在这里,虽然您希望PostgreSQL抛出错误,但这是PostgreSQL的有效查询。这是因为PostgreSQL将columnA视为实际列,将columnB视为分配给前一列的标签。这就是为什么它只返回结果中的第一列,即columnA