MySQL,相同的别名和列名,哪个优先?

时间:2013-04-18 20:32:50

标签: mysql sql

如果MySQL遇到相同的列名和别名,那么一个或另一个总是优先吗? e.g。

select NODE1 as `NODE2`, NODE2 as `NODE1` where `NODE2`=?

上述查询是否始终与占位符 NODE1(标签 NODE2)匹配?换句话说,标签总是优先吗?

如果是这样,对所有SQL数据库都是如此吗?

1 个答案:

答案 0 :(得分:6)

您不能在WHERE子句中使用别名,因此列名在此处非常重要。

  

可以在查询选择列表中使用别名来为列a提供   不同的名字。 您可以在GROUP BY,ORDER BY或HAVING中使用别名   条款引用专栏:

  

标准SQL不允许在WHERE子句中引用列别名。   强制执行此限制是因为WHERE子句是   评估后,列值可能尚未确定。

C.5.5.4. Problems with Column Aliases

引用的两个引号