Select 列名称之间不带逗号的Postgres查询

Select 列名称之间不带逗号的Postgres查询,select,postgresql-9.3,Select,Postgresql 9.3,如果我运行查询(列名之间没有逗号) Postges返回第一列。我以为会出错。。 这种行为的目的是什么 关键字as对于列别名是可选的,因此columnB是columnA的别名 您的声明相当于: SELECT columnA as columnB FROM someTable 可以将列标签指定给选择列表中的列。例如: SELECT columnA my_col FROM someTable; 此处columnA是表someTable中的实际列,my\u col是分配给columnA的标签 您的

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

Postges返回第一列。我以为会出错。。
这种行为的目的是什么

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

您的声明相当于:

SELECT columnA as columnB 
FROM someTable

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

SELECT columnA my_col FROM someTable;
此处
columnA
是表
someTable
中的实际列,
my\u col
是分配给
columnA
的标签

您的查询是:

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

SELECT columnA columnB FROM someTable;