KWALIFIKACJA INF3 - CZERWIEC 2022 (test 2)

PYTANIE NR 17.
Dana jest tabela pracownicy, do której wpisano rekordy przedstawione obok. Po uruchomieniu podanej w ramce kwerendy SQL zostanie wyświetlona wartość
Ilustracja przedstawia fragment egzaminu zawodowego związanego z kwalifikacją INF3 dla zawodu technik programista.
A.
B.
C.
D.
Wyjaśnienie poprawnej odpowiedzi:
Wynik kwerendy SQL jest pojedynczą wartością liczbową obliczoną na podstawie rekordów tabeli "pracownicy" i warunków zawartych w zapytaniu.
Aby wskazać poprawną odpowiedź, należy prześledzić, które wiersze spełniają warunki oraz jak zapytanie przelicza wybrane pole (np. podsumowanie lub uśrednienie).

Pełne wyjaśnienie:

W zadaniach tego typu otrzymujesz tabelę (zbiór rekordów) oraz kwerendę SQL, a Twoim celem jest ustalenie wartości zwracanej przez zapytanie. Najczęściej zapytanie nie zwraca listy wielu wierszy, tylko jedną liczbę (tzw. wynik skalarowy) wynikającą z obliczeń na danych.

Poprawne rozwiązanie wymaga zachowania dyscypliny w analizie zapytania:

  • Krok 1: określ zbiór danych wejściowych – ustal, które rekordy są brane pod uwagę po zastosowaniu warunków (np. ograniczeń na kolumnach). To typowy moment, w którym pojawiają się błędy: liczenie na całej tabeli zamiast na wierszach spełniających warunek.
  • Krok 2: sprawdź, czy występuje grupowanie – jeśli zapytanie tworzy grupy, obliczenia wykonuje się osobno dla każdej grupy. Wtedy wynik może zależeć od tego, czy zapytanie zwraca wiele grup, czy dodatkowo wybiera jedną z nich (np. przez warunek na grupach).
  • Krok 3: wykonaj obliczenie – gdy zapytanie zawiera obliczenia (np. agregację albo działanie na wartościach), policz je dokładnie na wybranym zbiorze danych, zwracając uwagę na typy wartości i ewentualne powtórzenia.

Dlaczego odpowiedzi błędne są niepoprawne?

  • Wartości zbyt niskie zwykle wynikają z pominięcia części rekordów albo błędnego odczytania warunku.
  • Wartości zbyt wysokie często biorą się z policzenia na wszystkich rekordach lub zsumowania, gdy należało wykonać inne działanie.
  • Odpowiedź "pozornie pasująca" bywa skutkiem pomylenia funkcji/operacji (np. potraktowania wyniku jako sumy zamiast wartości obliczanej zgodnie z logiką zapytania).

Strategia egzaminacyjna: przepisz na brudno rekordy, które "przechodzą" przez warunek, a następnie policz wynik dokładnie na tej liście. To minimalizuje ryzyko przeoczenia wiersza i ogranicza błędy rachunkowe.

Dodatkowe pytania

Dodatkowe pytania (FAQ):
Oznacza to, że zapytanie nie zwraca listy rekordów, tylko pojedynczy wynik (np. liczbę) wyliczony z danych. Dzieje się tak często przy użyciu funkcji agregujących albo obliczeń na kolumnach. Na egzaminie trzeba wtedy policzyć dokładnie to, co zapytanie oblicza.
Najpierw wyodrębnij rekordy spełniające warunki zapytania (np. ograniczenia na kolumnach). Potem sprawdź, czy jest grupowanie, bo wtedy liczysz w obrębie grup. Na końcu wykonaj obliczenie wskazane w SELECT (np. agregację lub działanie arytmetyczne) na właściwym zbiorze.
WHERE decyduje, które wiersze w ogóle biorą udział w dalszych obliczeniach. Typowy błąd to policzenie wartości na całej tabeli, mimo że zapytanie zawęża dane. Zawsze najpierw ustal, które rekordy przechodzą filtr, dopiero potem licz wynik.
Najczęściej myli się sumę ze średnią, pomija warunki filtrujące albo nie zauważa grupowania. Pułapką bywa też liczenie "na oko" bez wypisania rekordów spełniających warunek. Pomaga metoda: lista rekordów po filtrze → ewentualne grupy → dopiero obliczenie.
GROUP BY dzieli rekordy na grupy o tych samych wartościach w wybranych kolumnach. Funkcje agregujące liczą się wtedy osobno dla każdej grupy, a nie dla całej tabeli. Jeśli zapytanie zwraca jedną liczbę, zwykle wybiera jedną grupę lub dodatkowo agreguje wyniki.
Nie. WHERE filtruje pojedyncze wiersze przed agregacją, a HAVING filtruje całe grupy po agregacji. W zadaniach egzaminacyjnych łatwo pomylić te etapy i odrzucić nie te dane, co trzeba. Najpierw ustal, czy warunek dotyczy wierszy czy wyniku agregacji.
Trzeba odczytać wyrażenie w części SELECT: nazwa funkcji lub działanie arytmetyczne wskazuje rodzaj obliczeń. Następnie wykonaj obliczenie ręcznie na rekordach, które spełniają warunek. Jeśli wynik ma wyglądać "średnio", i tak weryfikuj go rachunkiem, a nie intuicją.
Alias (np. AS cos) zwykle tylko nadaje nazwę kolumnie wynikowej i nie zmienia obliczeń. Może jednak poprawić czytelność i podpowiadać, co jest liczone. Na egzaminie nie należy wybierać odpowiedzi na podstawie aliasu, tylko na podstawie faktycznej logiki zapytania.
Bo to ogranicza ryzyko przeoczenia wiersza i redukuje błędy wynikające z pamięci roboczej. Gdy warunek jest złożony, łatwo "zgubić" rekord lub policzyć go podwójnie. Wypisanie danych po filtrze działa jak kontrola jakości przed wykonaniem obliczeń.
Ćwicz analizę zapytań SELECT na małych tabelach: filtrowanie, agregacje, grupowanie i proste obliczenia. Rozwiązuj zadania tak, jak na egzaminie: bez uruchamiania bazy, z ręcznym wyliczeniem. Po każdym zadaniu sprawdzaj, na którym etapie najczęściej popełniasz błąd.
info

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

Źródła:

  • PostgreSQL Documentation: SELECT — The SELECT Command, https://www.postgresql.org/docs/current/sql-select.html - dostęp 2026-02-18
  • MySQL 8.0 Reference Manual: SELECT Statement, https://dev.mysql.com/doc/refman/8.0/en/select.html - dostęp 2026-02-18
  • SQLite Documentation: SELECT, https://www.sqlite.org/lang_select.html - dostęp 2026-02-18

Materiały:

  • Dokumentacja wybranego silnika DBMS (MySQL/PostgreSQL/SQLite) – dział SELECT
  • Ćwiczenia z zapytań SELECT z funkcjami agregującymi i GROUP BY
  • Zadania egzaminacyjne INF.3 z działu SQL (agregacje, filtrowanie, podzapytania)

Aktualizacja pytania: 03.04.2026



Aktualizacja pytania: 03.04.2026
📡 Brak połączenia internetowego