为什么Hive嵌套查询语句需要别名?

Why does Hive nested query statement require an alias?

我正在学习 Hortonworks 开发人员认证,模拟考试中的一项练习要求从多个嵌套查询创建 table。

我不清楚为什么以下语句会出错:

SELECT * FROM (nested queries);

虽然此语句按预期工作:

SELECT a.* FROM (nested queries) AS a;

from 子句中的 table 应该有一个名称,因此没有别名的 from 子句中的嵌套查询会抛出错误。

阅读 Hive Wiki 了解详细说明。