Kolejność przetwarzania zapytań przez silnik bazodanowy a aliasy

0

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:

  1. FROM
  2. WHERE
  3. GROUP BY
  4. HAVING
  5. SELECT
  6. 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ć?

0

Nie wiem jak w innych, ale w MSSQL nie można użyć aliasu w group by i having, o ile wiem postgre na to pozwala

0

Tak w Postgre czy MySQL można. W sumie blog, który czytam jest prowadzony przy uzyciu T-SQL z Sql Server

1 użytkowników online, w tym zalogowanych: 0, gości: 1