De HAVING
clausule wordt geëvalueerd vóór de SELECT
- dus de server kent die alias nog niet.
-
Ten eerste, het product van alle tabellen in de
FROM
clausule wordt gevormd. -
De
WHERE
clausule wordt vervolgens geëvalueerd om rijen te elimineren die niet voldoen aan de zoekvoorwaarde. -
Vervolgens worden de rijen gegroepeerd met behulp van de kolommen in de
GROUP BY
clausule. -
Dan, groepen die niet voldoen aan de
search_condition
in deHAVING
clausule worden geëlimineerd. -
Vervolgens de uitdrukkingen in de
SELECT
lijst met doelen voor uitspraken worden geëvalueerd. -
Als de
DISTINCT
trefwoord aanwezig is in de select-clausule, dubbele rijen zijn nu geëlimineerd. -
De
UNION
wordt genomen nadat elke subselectie is geëvalueerd. -
Ten slotte worden de resulterende rijen gesorteerd volgens de kolommen die zijn gespecificeerd in de
ORDER BY
clausule. -
TOP
clausule wordt uitgevoerd.
Hoop dat dit je vraag beantwoordt. Het legt ook uit waarom de alias werkt in ORDER BY
clausule.