KWALIFIKACJA INF3 - CZERWIEC 2015

PYTANIE NR 18.
W bazie danych, w celu uporządkowania listy uczniów według roku urodzenia, należy użyć polecenia
A.
B.
C.
D.
Wyjaśnienie poprawnej odpowiedzi:
Do uporządkowania wyników zapytania służy klauzula ORDER BY, która sortuje zwrócone rekordy według wskazanej kolumny, tu: rok_urodzenia. GROUP BY służy do grupowania (zwykle z agregacją), a WHERE filtruje rekordy, nie zmieniając ich kolejności.

Pełne wyjaśnienie:

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.

Dodatkowe pytania

Dodatkowe pytania (FAQ):
Klauzula ORDER BY sortuje wiersze zwrócone przez SELECT według wskazanych kolumn. Dzięki temu wyniki są uporządkowane np. po dacie, nazwisku lub roku urodzenia. Opcjonalnie można podać kierunek sortowania (rosnąco lub malejąco).
Użyj sortowania po kolumnie roku urodzenia, np. ORDER BY rok_urodzenia. W wielu bazach domyślny kierunek to rosnący, ale dla jasności można dopisać ASC. Sortowanie dotyczy kolejności prezentacji wyników, a nie zmiany danych w tabeli.
Stosuje się ORDER BY rok_urodzenia DESC. Słowo DESC oznacza porządek malejący (od największych wartości do najmniejszych). To przydatne, gdy chcesz najpierw zobaczyć najmłodszych uczniów (z najnowszym rokiem urodzenia).
ORDER BY służy do sortowania wierszy w wyniku zapytania. GROUP BY służy do grupowania rekordów o tych samych wartościach (często razem z agregacją, np. liczbą uczniów w roczniku). To inne cele, choć bywają mylone.
WHERE filtruje rekordy, czyli decyduje, które wiersze w ogóle trafią do wyniku (np. tylko rocznik 1994). Nie ustala kolejności wyników. Kolejność ustala się dopiero przez ORDER BY, niezależnie od tego, czy filtrujesz dane.
W ORDER BY podajesz listę kolumn, np. najpierw rocznik, potem nazwisko: ORDER BY rok_urodzenia, nazwisko. Najpierw sortowanie odbywa się po pierwszej kolumnie, a dla remisów (tych samych wartości) po kolejnej.
Nie. ORDER BY zmienia tylko sposób wyświetlenia danych w wyniku zapytania. Dane w tabeli pozostają bez zmian. To ważne na egzaminie: sortowanie dotyczy zwracanych wierszy, a nie fizycznego "przestawiania" rekordów w bazie.
GROUP BY stosujesz, gdy chcesz wynik "dla każdej grupy", np. policzyć ilu uczniów jest w każdym roczniku albo w każdej klasie. Wtedy zwykle łączy się to z funkcjami agregującymi, np. zliczaniem rekordów w grupach.
Najczęstsze pomyłki to: użycie GROUP BY zamiast ORDER BY, zastosowanie WHERE (filtrowanie) zamiast sortowania oraz posortowanie po niewłaściwej kolumnie (np. po nazwisku, gdy pytanie wymaga roku). Warto czytać dokładnie, "według czego" ma być porządek.
W wielu systemach SQL jest to możliwe (sortujesz po kolumnie, której nie ma na liście wybieranych pól), ale zależy to od dialektu i ustawień. Na egzaminie najbezpieczniej jest sortować po kolumnie jednoznacznie wskazanej w treści i spójnej z zapytaniem.
info

To pytanie poprawnie rozwiązuje 83% zdających egzamin. średnio łatwe

Eksperci podkreślają: "Do uporządkowania wyników zapytania służy klauzula ORDER BY, która sortuje zwrócone rekordy według wskazanej kolumny, tu: rok_urodzenia."

Źródła:

  • MySQL 8.0 Reference Manual: SELECT Statement – ORDER BY clause, https://dev.mysql.com/doc/refman/8.0/en/select.html (dostęp: 2026-02-28)
  • PostgreSQL Documentation: SELECT – ORDER BY Clause, https://www.postgresql.org/docs/current/sql-select.html (dostęp: 2026-02-28)
  • SQLite Documentation: SELECT – ORDER BY, https://sqlite.org/lang_select.html (dostęp: 2026-02-28)

Materiały:

  • Dokumentacja dialektu SQL używanego na zajęciach (np. MySQL, PostgreSQL, SQLite) – sekcja ORDER BY
  • Kurs podstaw SQL (SELECT/WHERE/ORDER BY/GROUP BY) z ćwiczeniami na danych szkolnych
  • Zadania egzaminacyjne z baz danych: sortowanie i filtrowanie wyników

Aktualizacja pytania: 31.03.2026



Aktualizacja pytania: 31.03.2026
📡 Brak połączenia internetowego