O
HAVING
cláusula é avaliada antes do SELECT
- então o servidor ainda não sabe sobre esse alias. -
Primeiro, o produto de todas as tabelas noFROM
cláusula é formada.
-
OWHERE
A cláusula é então avaliada para eliminar linhas que não satisfaçam a search_condition.
-
Em seguida, as linhas são agrupadas usando as colunas noGROUP BY
cláusula.
-
Então, os grupos que não satisfazem asearch_condition
noHAVING
cláusula são eliminadas.
-
Em seguida, as expressões noSELECT
lista de destino da instrução são avaliadas.
-
Se oDISTINCT
palavra-chave presente na cláusula select, as linhas duplicadas agora são eliminadas.
-
AUNION
é obtido após cada sub-seleção ser avaliada.
-
Finalmente, as linhas resultantes são classificadas de acordo com as colunas especificadas noORDER BY
cláusula.
-
TOP
cláusula é executada.
espero que isso responda sua pergunta. Além disso, explica por que o alias funciona em
ORDER BY
cláusula.