SELECT TOP 1 salary FROM (
SELECT TOP 3 salary
FROM employees
ORDER BY salary DESC) AS emp
ORDER BY salary ASC
为什么" AS emp"用于查询?如果不使用AS
,查询将无效。
答案 0 :(得分:1)
原因是您需要为子查询添加别名。可以将子查询视为创建另一个表供您选择,以及查询尝试引用它。它可能不完全是正在发生的事情,但它总是有助于我证明为什么我必须在最后添加别名。
答案 1 :(得分:1)
此要求仅在Documentation on the FROM clause,AS emp
:
当使用派生表,行集或表值函数或运算符子句(如PIVOT或UNPIVOT)时,所需的table_alias 在结尾处子句是所有列的关联表名,包括返回的分组列。
因此,在查询中使用AS
的原因是SQL Server需要它。
您也可以在不使用AS
关键字的情况下对其进行别名(.caselist {
padding: 0;
margin-top: 2px;
background-color: #63a0d4;
color: #fff;
height: 3.0em;
padding-top: 0.5em;
vertical-align: middle;
}
.caselink-search {
display: block;
padding-top: 5px;
}
.case-info {
padding-top: 0.5em;
margin-top: 11px;
background-color: #f2f2f2;
border: 1px solid #b3b3b3;
color: #000;
height: 3.0em;
}
关键字是可选的)。