Le HAVING la clause est évaluée avant le SELECT - donc le serveur ne connaît pas encore cet alias.
-
Tout d'abord, le produit de toutes les tables dans le
FROMclause est formée. -
Le
WHERELa clause est ensuite évaluée pour éliminer les lignes qui ne satisfont pas à la condition de recherche. -
Ensuite, les lignes sont regroupées à l'aide des colonnes du
GROUP BYclause. -
Ensuite, les groupes qui ne satisfont pas la
search_conditiondans leHAVINGclause sont éliminées. -
Ensuite, les expressions dans le
SELECTla liste cible des instructions est évaluée. -
Si le
DISTINCTmot-clé présent dans la clause select, les lignes en double sont maintenant éliminées. -
L'
UNIONest prise après l'évaluation de chaque sous-sélection. -
Enfin, les lignes résultantes sont triées selon les colonnes spécifiées dans le
ORDER BYclause. -
TOPclause est exécutée.
J'espère que ça répond à ta question. En outre, il explique pourquoi l'alias fonctionne dans ORDER BY clause.