如果我运行一个查询(没有列名之间用逗号)之间的逗号,Postgres的查询没有列名
SELECT columnA columnB FROM someTable
Postges返回的第一列。我期望有一个错误.. 这种行为的目的是什么?
如果我运行一个查询(没有列名之间用逗号)之间的逗号,Postgres的查询没有列名
SELECT columnA columnB FROM someTable
Postges返回的第一列。我期望有一个错误.. 这种行为的目的是什么?
对于列别名,关键字as
是可选的,因此columnB
是columnA
的别名。
你的语句等价于:
SELECT columnA as columnB
FROM someTable
您可以在选择列表中指定的列标签的列。例如:
SELECT columnA my_col FROM someTable;
这里columnA
是表someTable
和my_col
实际列被分配到columnA
的标签。
您所查询的是:
SELECT columnA columnB FROM someTable;
在这里,虽然你预期的PostgreSQL抛出一个错误,但是这是一个针对PostgreSQL有效的查询。这是因为PostgreSQL将columnA
视为实际列,将columnB
视为分配给前一列的标签。这就是为什么它只返回结果中的第一列,即columnA
。