如果MySQL遇到相同的列名和别名,那么一个或另一个总是优先吗? e.g。
select NODE1 as `NODE2`, NODE2 as `NODE1` where `NODE2`=?
上述查询是否始终与占位符列 NODE1(标签 NODE2)匹配?换句话说,标签总是优先吗?
如果是这样,对所有SQL数据库都是如此吗?
答案 0 :(得分:6)
您不能在WHERE
子句中使用别名,因此列名在此处非常重要。
可以在查询选择列表中使用别名来为列a提供 不同的名字。 您可以在GROUP BY,ORDER BY或HAVING中使用别名 条款引用专栏:
和
引用的两个引号标准SQL不允许在WHERE子句中引用列别名。 强制执行此限制是因为WHERE子句是 评估后,列值可能尚未确定。