W SQL cel "uporządkowania listy uczniów według roku urodzenia" oznacza posortowanie zwróconych rekordów. Do sortowania wyników zapytania służy klauzula ORDER BY. Dlatego poprawne jest zapytanie zawierające fragment ORDER BY rok_urodzenia, bo wymusza prezentację wierszy w kolejności wyznaczonej przez wartości w kolumnie roku urodzenia (domyślnie rosnąco, o ile nie podano inaczej).
Dlaczego pozostałe propozycje nie spełniają celu?
- Odpowiedź z GROUP BY rok_urodzenia nie służy do sortowania. Grupowanie łączy wiersze o tych samych wartościach w grupy i jest typowo używane razem z funkcjami agregującymi (np. liczeniem, sumą). Bez agregacji może prowadzić do niejednoznacznych wyników lub błędów w zależności od silnika bazy.
- Odpowiedź z WHERE rok_urodzenia = 1994 to filtrowanie: zwróci tylko uczniów z jednego rocznika. Pytanie dotyczy ułożenia całej listy według roku, a nie wybrania jednego roku.
- Odpowiedź z ORDER BY nazwisko faktycznie sortuje, ale według innej kolumny niż wskazana w pytaniu. To częsta pułapka: rozpoznać właściwą klauzulę, ale przeoczyć wymagane pole sortowania.
Wskazówka egzaminacyjna: gdy w treści pojawia się "uporządkować", "posortować", "kolejność rosnąca/malejąca" – najczęściej chodzi o ORDER BY. Gdy pojawia się "pogrupować", "zliczyć w grupach", "dla każdego rocznika/klasy" – wtedy szukaj GROUP BY. A gdy jest "wybierz tylko te rekordy, które spełniają warunek" – to sygnał dla WHERE.