0

我正在解决一个练习问题并尝试在 ON 字段中使用表别名,但它不起作用。

SELECT c.code AS country_code, name, year, inflation_rate
FROM countries AS c
Join to economies (alias e)
  INNER JOIN economies AS e
    **ON c.code = e.code;**

这是标准答案

SELECT c.code AS country_code, name, year, inflation_rate
FROM countries AS c
Join to economies (alias e)
  INNER JOIN economies AS e
    **ON countries_code = e.code;**

这是我输入的

标准答案希望我在 ON 字段中使用“c.code”,但我尝试使用别名“country_code”,但它不会返回任何结果。

4

1 回答 1

1

中定义的列别名SELECT不能用在FROM(因此不能用在子句中,例如ON)或WHERE子句中。

GROUP BY一些数据库允许在and/orHAVING子句中使用别名。所有(或几乎所有)都允许它们出现在ORDER BY子句中。

别名可用的地方称为作用域

于 2019-04-06T20:14:35.807 回答