KWALIFIKACJA INF3 - CZERWIEC 2021 (test 2)

PYTANIE NR 12.
SELECT ocena FROM oceny WHERE ocena>2 ORDER BY ocena; 
Dana jest tabela oceny o polach id, nazwisko, imie, ocena. Przedstawione zapytanie jest przykładem
A.
B.
C.
D.
Wyjaśnienie poprawnej odpowiedzi:
Zapytanie zawiera warunek WHERE ocena>2, który ogranicza wynik do wierszy spełniających kryterium. Takie filtrowanie rekordów to selekcja (wybór krotek). ORDER BY jedynie sortuje wynik i nie zmienia typu operacji w sensie algebry relacyjnej.

Pełne wyjaśnienie:

W algebrze relacyjnej rozróżnia się m.in.:

  • selekcję – wybór tych wierszy (krotek), które spełniają podany warunek,
  • projekcję – wybór określonych kolumn (atrybutów) z relacji.

W zapytaniu SELECT ocena FROM oceny WHERE ocena>2 ORDER BY ocena; kluczowy dla rozpoznania "selekcji" jest fragment WHERE ocena>2. To on sprawia, że w wyniku znajdą się tylko te rekordy tabeli oceny, dla których wartość pola ocena jest większa niż 2. Jest to klasyczny przykład filtrowania wierszy, czyli selekcji.

Odpowiedź "projekcji" bywa wybierana, ponieważ część SELECT ocena faktycznie powoduje zwrócenie tylko jednej kolumny. Jednak w tym zadaniu rozpoznawany typ operacji wiąże się z istnieniem warunku ograniczającego zbiór wierszy. W praktyce SQL jedno zapytanie często łączy kilka działań naraz (wybór kolumn, filtrowanie, sortowanie), ale jeśli pytanie każe wskazać przykład selekcji, to decydujące jest użycie WHERE.

Odpowiedź "łączenia" jest niepoprawna, bo łączenie (JOIN) wymaga co najmniej dwóch tabel lub dwóch źródeł danych oraz warunku połączenia; w tym zapytaniu jest tylko jedna tabela oceny. Odpowiedź "sumy" też nie pasuje: suma kojarzy się z agregacją (np. SUM()) lub operacjami zbiorów; tutaj nie ma funkcji agregujących ani operacji typu UNION.

Wskazówka egzaminacyjna: gdy w pytaniu pada termin "selekcja", szukaj w zapytaniu elementu, który odrzuca część wierszy (najczęściej WHERE). Gdy pojawia się "projekcja", szukaj sytuacji, w której wynik zawiera tylko wybrane kolumny.

Dodatkowe pytania

Dodatkowe pytania (FAQ):
Selekcja to operacja filtrowania wierszy relacji według warunku. W SQL najczęściej odpowiada jej klauzula WHERE, np. WHERE ocena>2, która usuwa z wyniku rekordy niespełniające kryterium.
Projekcja oznacza wybór kolumn (atrybutów), np. SELECT ocena. Selekcja dotyczy wyboru wierszy, zwykle przez WHERE. Najprościej: kolumny = projekcja, warunek na rekordy = selekcja.
Bo WHERE ogranicza zbiór rekordów do tych, które spełniają warunek. Bez WHERE zapytanie zwykle zwraca wszystkie wiersze (dla wskazanej tabeli), więc nie byłoby filtrowania krotek, czyli selekcji.
Tak. SQL często łączy kilka działań: wybór kolumn (projekcja), filtrowanie wierszy (selekcja) i sortowanie (ORDER BY). Na egzaminie trzeba rozpoznać, który element odpowiada danemu pojęciu: WHERE → selekcja, lista po SELECT → projekcja.
ORDER BY sortuje wynik (np. rosnąco po kolumnie), ale nie decyduje o tym, które wiersze trafią do wyniku. O doborze wierszy decyduje selekcja (WHERE), a ORDER BY jest etapem porządkowania już wybranych danych.
Oznacza, że do wyniku trafią tylko te rekordy, w których wartość pola ocena jest większa niż 2. Rekordy z oceną 2 lub mniejszą zostaną odrzucone na etapie filtrowania, czyli selekcji.
Łączenie (JOIN) dotyczy zestawiania danych z co najmniej dwóch tabel (lub podzapytań) na podstawie relacji między kolumnami. Jeśli w FROM występuje tylko jedna tabela i nie ma JOIN, to nie ma operacji łączenia.
Najczęściej "suma" kojarzy się z funkcją agregującą SUM(), używaną np. do sumowania wartości w kolumnie. W takim zapytaniu występują zwykle agregacje i często GROUP BY. Jeśli w zapytaniu nie ma SUM(), to "suma" nie jest trafnym opisem.
Częsty błąd to wybór odpowiedzi na podstawie samego słowa SELECT, bez analizy WHERE. Inny błąd to pomijanie faktu, że w SQL można jednocześnie wybierać kolumny i filtrować wiersze. Warto patrzeć: WHERE = selekcja, lista kolumn = projekcja.
Ćwicz krótkie zapytania na prostych tabelach: najpierw same SELECT (projekcja), potem SELECT z WHERE (selekcja), a następnie dodaj ORDER BY. Dobrą metodą jest przewidywanie wyniku "w głowie": które wiersze zostaną odrzucone i jakie kolumny zostaną pokazane.
info

Około 55% zdających odpowiada poprawnie na to pytanie. średnie

Eksperci podkreślają: "Zapytanie zawiera warunek WHERE ocena>2, który ogranicza wynik do wierszy spełniających kryterium."

Źródła:

  • PostgreSQL Documentation: "SELECT" (Querying Data) – opis składni SELECT, WHERE i ORDER BY: https://www.postgresql.org/docs/current/sql-select.html - dostęp 2026-02-27
  • MySQL 8.0 Reference Manual: "SELECT Statement" – składnia SELECT, WHERE, ORDER BY: https://dev.mysql.com/doc/refman/8.0/en/select.html - dostęp 2026-02-27
  • Wikipedia (PL): "Algebra relacyjna" – definicje selekcji i projekcji: https://pl.wikipedia.org/wiki/Algebra_relacyjna - dostęp 2026-02-27

Materiały:

  • Dokumentacja wybranego DBMS: opis SELECT/WHERE/ORDER BY
  • Materiały o algebrze relacyjnej (selekcja i projekcja) w kontekście baz danych
  • Ćwiczenia praktyczne: pisanie zapytań filtrujących i wybierających kolumny

Aktualizacja pytania: 31.03.2026



Aktualizacja pytania: 31.03.2026
📡 Brak połączenia internetowego