HAVING
клаузата се оценява преди SELECT
- така че сървърът все още не знае за този псевдоним.
-
Първо, произведението на всички таблици в
FROM
се формира клауза. -
WHERE
след това се оценява, за да се елиминират редове, които не отговарят на условието за_търсене. -
След това редовете се групират с помощта на колоните в
GROUP BY
клауза. -
След това, групи, които не отговарят на
search_condition
вHAVING
клауза се премахват. -
След това изразите в
SELECT
списъкът с целеви изявления се оценява. -
Ако
DISTINCT
ключовата дума присъства в клаузата за избор, дублиращите се редове вече са елиминирани. -
UNION
се взема след оценка на всеки подизбор. -
Накрая, получените редове се сортират според колоните, посочени в
ORDER BY
клауза. -
TOP
клаузата се изпълнява.
Надяваме се, че това отговаря на въпроса ви. Освен това обяснява защо псевдонимът работи в ORDER BY
клауза.