Która klauzula SQL służy do posortowania wyników zapytania?
Źle.
HAVING filtruje grupy po agregacji, nie sortuje.Źle.
WHERE filtruje wiersze według warunku, nie ustala kolejności.Dobrze.
ORDER BY sortuje wynik rosnąco (ASC) lub malejąco (DESC).Źle.
GROUP BY grupuje wiersze do agregacji, nie sortuje wyniku.Wyniki zapytania sortuje klauzula
ORDER BY, po której podaje się kolumnę i kierunek: ASC (rosnąco, domyślnie) lub DESC (malejąco), np. SELECT * FROM klienci ORDER BY nazwisko ASC. Można sortować po wielu kolumnach. Dlatego do uporządkowania wyniku służy ORDER BY.Pozostałe klauzule pełnią inne role w zapytaniu.
GROUP BY łączy wiersze o tej samej wartości w grupy, by policzyć sumy czy średnie - to agregacja, a nie sortowanie. WHERE wybiera wiersze spełniające warunek, zanim powstanie wynik, lecz nie wpływa na ich kolejność. HAVING działa podobnie do WHERE, ale filtruje już utworzone grupy po agregacji. Uporządkowanie wyniku według wybranej kolumny zapewnia ORDER BY.