SQL语句中,为什么where子句不能使用列别名,而order by却可以?
发布网友
发布时间:2022-04-11 09:10
我来回答
共1个回答
热心网友
时间:2022-04-11 10:40
sqlserver查询的执行顺序是:
(1)FROM
<left_table>
<join_type>
JOIN
<right_table>
ON
<on_predicate>
(2)WHERE
<where_predicate>
(3)GROUP
BY
<group_by_specification>
(4)HAVING
<having_predicate>
(5)SELECT
DISTINCT
TOP(<top_specification>)
<select_list>
(6)ORDER
BY
<order_by_list>
所以在where执行的时候,别名还不存在,而order
by的时候已经存在