Hej.
Czytając na blogach o aliasach w sql ( mysql szczególnie) często widzę powiązanie kolejności przetwarzania zapytań przez silnik bazodanowy z możlwościa używania aliasów, co jest całkiem intuicyjne.
W jednym wpisie pewna osoba opisała ...
Zauważ, że w ORDER BY, odwołuje się do aliasu wyniku działania funkcji AVG() ( umieszczona s SELECT). Jest to niejako potwierdzenie, że krok ORDER BY wykonywany jest jako ostatni – po SELECT.
Nie rozumiem teraz jaki to ma związek skoro kolejnośc wykonywania zapytań faktyczna to:
- FROM
- WHERE
- GROUP BY
- HAVING
- SELECT
- ORDER BY
W takim razie czemu alias będzie widoczny również w GROUP BY i HAVING ?
Natomiast jeśli od Selecta w dół jest widoczny, tak jak skonstruowane zapytanie to czemu w WHERE nie możemy używać?