KWALIFIKACJA INF2 + INF3 - STYCZEŃ 2014

PYTANIE NR 27.
Wynikiem polecenia SELECT produkt FROM tabela ORDER BY produkt DESC będzie pokazanie:
A.
B.
C.
D.
Wyjaśnienie poprawnej odpowiedzi:
SELECT produkt zwraca wartości z kolumny "produkt", a nie pojedynczy wiersz. Klauzula ORDER BY produkt DESC ustawia kolejność wyników według tej kolumny w porządku malejącym (np. od Z do A dla tekstu). Dlatego poprawna jest odpowiedź mówiąca o kolumnie posortowanej malejąco.

Pełne wyjaśnienie:

Zapytanie SELECT produkt FROM tabela wykonuje tzw. projekcję, czyli wybiera wskazaną kolumnę z tabeli i zwraca wynik jako zestaw rekordów (wierszy) zawierających wyłącznie tę kolumnę. Oznacza to, że w rezultacie widzimy kolumnę "produkt" (z wieloma wartościami), a nie "wiersz produkt".

Klauzula ORDER BY produkt odpowiada za sortowanie wyniku według wartości w podanej kolumnie. Dopisek DESC (descending) oznacza kolejność malejącą. Dla danych tekstowych najczęściej będzie to porządek od końca alfabetu do początku (np. Z → A), a dla liczb: od największej do najmniejszej.

Dlaczego pozostałe odpowiedzi są błędne?

  • Odpowiedzi sugerujące sortowanie rosnące są sprzeczne z użyciem DESC, które wymusza kierunek malejący.
  • Odpowiedzi mówiące o wierszu są nieprecyzyjne: zapytanie nie wybiera "wiersza produkt", tylko wybiera kolumnę "produkt" i zwraca wiele wierszy z jedną kolumną (chyba że tabela ma tylko jeden rekord, czego nie założono).

W praktyce warto pamiętać: ASC (albo brak dopisku) kojarz z porządkiem rosnącym, a DESC z malejącym. Jeśli w pytaniach egzaminacyjnych pojawia się rozróżnienie "kolumna vs wiersz", zwykle chodzi o sprawdzenie, czy rozumiesz, że SELECT wskazuje atrybuty (kolumny) zwracane w wyniku.

Dodatkowe pytania

Dodatkowe pytania (FAQ):
DESC oznacza sortowanie malejące (descending). Dla liczb to kolejność od największej do najmniejszej, a dla tekstu zwykle od "Z" do "A" zgodnie z porównywaniem znaków w bazie. Jest przeciwieństwem ASC.
ORDER BY sortuje wiersze zwrócone przez zapytanie SELECT według wartości w podanej kolumnie lub wyrażeniu. Sortowanie dotyczy wyniku (zestawu rekordów), a nie zmienia fizycznie kolejności danych w tabeli.
SELECT produkt wskazuje, że w wyniku ma się pojawić kolumna "produkt". Wynik składa się z wielu wierszy (rekordów), ale każdy wiersz zawiera tylko tę jedną kolumnę. To częsta pułapka: "produkt" to nazwa kolumny, nie wiersza.
W relacyjnej bazie danych wiersz to cały rekord z wieloma kolumnami, a kolumna to pojedynczy atrybut. Skoro zapytanie wybiera tylko "produkt", to opis "wiersza produkt" miesza pojęcia i sugeruje wybór całego rekordu.
W wielu silnikach baz danych, gdy po ORDER BY nie podasz kierunku, domyślnie przyjmowane jest ASC, czyli rosnąco. W zadaniach egzaminacyjnych trzeba jednak czytać uważnie, bo dopisek DESC zmienia kierunek.
Aby uzyskać kolejność rosnącą (np. A → Z dla tekstu), użyj ORDER BY produkt ASC albo samego ORDER BY produkt (jeśli dany silnik przyjmuje ASC domyślnie). W pytaniach testowych najlepiej kojarzyć rosnąco z ASC.
Nie. ORDER BY wpływa tylko na kolejność wierszy w wyniku zapytania. Dane w tabeli pozostają bez zmian. To ważne w administracji bazą: sortowanie jest operacją prezentacji/odczytu, a nie modyfikacji.
Najczęstsze pomyłki to: pominięcie dopisku DESC, automatyczne założenie "rosnąco", oraz mylenie pojęć "kolumna" i "wiersz". Pomaga zasada: ASC jak "alfabet w górę", DESC jak "w dół".
Dla tekstu sortowanie zależy od reguł porównywania znaków (tzw. kolacji/porządku sortowania) ustawionych w bazie. Egzaminowo przyjmuje się zwykle intuicyjnie: rosnąco A → Z, malejąco Z → A, chyba że zadanie podaje inne założenia.
Najlepiej ćwiczyć na małej tabeli: wpisz kilka rekordów i wykonuj SELECT z ORDER BY dla tekstu i liczb. Zwracaj uwagę, co jest wybierane (kolumny) i co jest sortowane (wynik). To szybko eliminuje typowe pomyłki.
info

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

Według specjalistów z branży: "SELECT produkt zwraca wartości z kolumny "produkt", a nie pojedynczy wiersz."

Źródła:

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

Materiały:

  • Dokumentacja wybranego silnika bazy danych (sekcja SELECT oraz ORDER BY)
  • Ćwiczenia praktyczne: tworzenie tabeli i wykonywanie zapytań z ASC/DESC na danych tekstowych i liczbowych
  • Notatka porównawcza: różnice między projekcją (wybór kolumn) a selekcją (warunki WHERE)

Aktualizacja pytania: 31.03.2026



Aktualizacja pytania: 31.03.2026
📡 Brak połączenia internetowego