KWALIFIKACJA INF3 - STYCZEŃ 2023

PYTANIE NR 15.
Na tabeli Pracownicy, której wiersze zostały pokazane na obrazie, wykonano przedstawioną kwerendę SELECT. Które dane zostaną wybrane?
Ilustracja przedstawia fragment zapytania SQL oraz tabelę z danymi pracowników.
A.
B.
C.
D.
Wyjaśnienie poprawnej odpowiedzi:
Zapytanie SELECT zwraca wszystkie wiersze tabeli, które spełniają warunek filtrujący wskazany w kwerendzie.
Po zastosowaniu tego warunku do danych z tabeli "Pracownicy" w wynikach pozostają rekordy odpowiadające imionom: Anna, Maria oraz Ewa, a pozostałe osoby nie spełniają kryterium i nie są zwracane.

Pełne wyjaśnienie:

W SQL zapytanie SELECT służy do pobierania danych z tabeli. O tym, które rekordy trafią do wyniku, decyduje przede wszystkim część WHERE (jeżeli występuje), czyli warunek logiczny, który musi być spełniony przez dany wiersz.

W tym zadaniu należy wykonać dwa kroki:

  • Odczytać kwerendę i zrozumieć, jakie kryterium nakłada (np. porównania, warunki logiczne, ewentualne wykluczenia).
  • Sprawdzić każdy wiersz widoczny w tabeli "Pracownicy" i ocenić, czy spełnia warunek. Do wyniku trafiają tylko te rekordy, dla których warunek jest prawdziwy.

Po zastosowaniu zaprezentowanej kwerendy do danych z tabeli, w zestawie wynikowym pozostają osoby o imionach Anna, Maria, Ewa. To oznacza, że właśnie te rekordy spełniają kryterium, a pozostałe wiersze zostały odfiltrowane.

Dlaczego pozostałe odpowiedzi są niepoprawne?

  • Odpowiedź "Tylko Maria." jest zbyt wąska: ignoruje fakt, że warunek spełnia więcej niż jeden rekord.
  • Odpowiedź "Tylko Anna." popełnia ten sam błąd — zakłada pojedynczy wynik mimo istnienia kilku pasujących wierszy.
  • Odpowiedź "Monika, Ewelina, Maria." wskazuje co najmniej jedną osobę, która nie spełnia warunku kwerendy (a więc nie powinna znaleźć się w wyniku) i jednocześnie pomija osoby, które warunek spełniają.

Wskazówka egzaminacyjna: zawsze "przechodź" warunek WHERE wiersz po wierszu i zaznaczaj, które rekordy przechodzą filtr. To zmniejsza ryzyko pomylenia operatorów logicznych (AND/OR/NOT) oraz przeoczenia wyjątków (np. wartości NULL).

Dodatkowe pytania

Dodatkowe pytania (FAQ):

Klauzula WHERE filtruje wiersze: do wyniku trafiają tylko te rekordy, dla których warunek jest spełniony (ma wartość TRUE).

Dzięki temu SELECT nie zwraca całej tabeli, lecz podzbiór danych pasujący do kryterium.

Najpierw odczytaj warunek z WHERE, potem przeanalizuj każdy rekord z tabeli osobno.

  • Podstaw wartości z wiersza do warunku
  • Oceń wynik logiczny
  • Zapisz, które wiersze "przechodzą" filtr

Na końcu wypisz zwrócone dane.

SELECT zwraca zbiór wierszy, a nie pojedynczą wartość, o ile warunek pasuje do wielu rekordów.

Jeśli kilka osób spełnia kryterium w WHERE, w wyniku zobaczysz wszystkie te osoby. Pojedynczy wynik występuje tylko, gdy filtr jest bardzo zawężający.

Najczęstsze błędy to: pominięcie części warunku (np. jednego członu AND), mylenie OR z AND oraz nieuwzględnienie wyjątków.

W praktyce pomaga rozpisanie warunku na proste fragmenty i sprawdzenie go wiersz po wierszu, zamiast zgadywania.

Zwykle nie. Bez ORDER BY standardowo nie zakłada się stałej kolejności wyników.

Na egzaminie, jeśli pytanie dotyczy "jakie dane zostaną wybrane", chodzi o zawartość wyników, a nie o ich kolejność, o ile ORDER BY nie występuje.

W porównaniach SQL wartość NULL zwykle nie zachowuje się jak liczba/tekst — wiele warunków nie daje TRUE, tylko "nieznany" wynik.

Dlatego rekord z NULL może nie zostać zwrócony, jeśli warunek nie uwzględnia tego jawnie (np. przez IS NULL).

Operator AND wymaga, aby wszystkie połączone warunki były spełnione jednocześnie.

Jeśli choć jeden fragment jest fałszywy, cały warunek AND jest fałszywy i wiersz nie trafi do wyniku. To typowe źródło "zbyt małej" liczby zwróconych rekordów.

Operator OR oznacza, że wystarczy spełnienie co najmniej jednego z warunków.

W praktyce OR poszerza wynik. W zadaniach egzaminacyjnych warto używać nawiasów, aby poprawnie interpretować złożone wyrażenia z AND i OR.

Bo wynik to połączenie dwóch rzeczy: logiki zapytania (SELECT/WHERE) oraz konkretnych wartości w rekordach.

Samo znanie składni SQL nie wystarczy, jeśli nie sprawdzisz, które wiersze faktycznie spełniają warunek. Z kolei sama tabela nic nie mówi bez kryterium z kwerendy.

Ćwicz na małych tabelach: dopasuj wynik do warunku WHERE i zapisuj, które rekordy przechodzą filtr.

Opanuj podstawy: SELECT, DISTINCT, WHERE, AND/OR/NOT, IN, LIKE, IS NULL oraz ORDER BY. Najlepiej wykonywać zadania "ręcznie", zanim uruchomisz je w bazie.

info

Statystycznie 48% uczniów zna prawidłową odpowiedź. trudne

Źródła:

  • PostgreSQL Documentation: SELECT, https://www.postgresql.org/docs/current/sql-select.html (accessed 2026-02-27)
  • MySQL 8.0 Reference Manual: SELECT Statement, https://dev.mysql.com/doc/refman/8.0/en/select.html (accessed 2026-02-27)
  • SQLite Documentation: SELECT, https://www.sqlite.org/lang_select.html (accessed 2026-02-27)

Materiały:

  • Dokumentacja SQL dla używanego silnika bazy (np. MySQL/PostgreSQL/SQLite) – rozdział SELECT
  • Kursy e-learningowe z podstaw SQL (SELECT/WHERE/ORDER BY)
  • Zadania praktyczne: interpretacja wyników zapytań na małych tabelach

Aktualizacja pytania: 31.03.2026



Aktualizacja pytania: 31.03.2026
📡 Brak połączenia internetowego