HAVING klausulen evalueres før SELECT - så serveren kender endnu ikke til det alias.
-
Først produktet af alle tabeller i
FROMklausul er dannet. -
WHEREklausul evalueres derefter for at eliminere rækker, der ikke opfylder søgebetingelsen. -
Dernæst grupperes rækkerne ved hjælp af kolonnerne i
GROUP BYklausul. -
Derefter grupper, der ikke opfylder
search_conditioniHAVINGklausul er elimineret. -
Dernæst udtrykkene i
SELECTerklæringsmålliste evalueres. -
Hvis
DISTINCTsøgeord, der er til stede i select-klausulen, er duplikerede rækker nu elimineret. -
UNIONtages efter hvert undervalg er evalueret. -
Til sidst sorteres de resulterende rækker i henhold til kolonnerne specificeret i
ORDER BYklausul. -
TOPklausul udføres.
Håber dette besvarer dit spørgsmål. Det forklarer også, hvorfor aliaset virker i ORDER BY klausul.