KWALIFIKACJA INF3 - TEST WIEDZY NR 2

PYTANIE NR 29.
Załóż, że masz tabelę o nazwie Pracownicy z kolumnami: ID, Imię, Nazwisko i Pensja. Wybierz polecenie SQL, które zwróci wszystkich pracowników, którzy zarabiają więcej niż 5000.
A.
B.
C.
D.
Wyjaśnienie poprawnej odpowiedzi:
Poprawne zapytanie musi filtrować wiersze warunkiem w klauzuli WHERE. Ponieważ wymagane są osoby zarabiające więcej niż 5000, należy użyć operatora ">" przy kolumnie Pensja. Warunki "=", "<" oraz "!=" nie spełniają wymogu "ściśle powyżej 5000".

Pełne wyjaśnienie:

W SQL pobieranie danych z tabeli realizuje polecenie SELECT. Aby ograniczyć wyniki tylko do tych rekordów, które spełniają określone kryterium, stosuje się klauzulę WHERE. W tym zadaniu kryterium dotyczy kolumny Pensja i brzmi: "zarabiają więcej niż 5000", czyli wartość pensji ma być ściśle większa od 5000.

Dlatego poprawny warunek ma postać Pensja > 5000. Taki zapis zwróci wyłącznie pracowników z pensją 5000,01 i wyższą (w zależności od typu danych), natomiast nie zwróci osób z pensją równą 5000.

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

  • Warunek Pensja = 5000 wybiera tylko osoby zarabiające dokładnie 5000, co nie spełnia wymagania "więcej niż 5000".
  • Warunek Pensja < 5000 wybiera osoby poniżej progu, czyli dokładne przeciwieństwo oczekiwanego wyniku.
  • Warunek Pensja != 5000 zwraca wszystkich poza tymi z pensją równą 5000: zarówno osoby z pensją 3000, jak i 7000. To nie jest filtr "powyżej 5000", tylko "wszystko oprócz 5000".

W praktyce warto zwracać uwagę na różnicę między "więcej niż" (operator >) a "co najmniej" (operator >=). To częsty punkt w zadaniach egzaminacyjnych, bo jedno słowo w treści zmienia warunek logiczny w WHERE.

Dodatkowe pytania

Dodatkowe pytania (FAQ):
Klauzula WHERE filtruje wiersze zwracane przez SELECT. Zwracane są tylko te rekordy, dla których warunek logiczny jest prawdziwy, np. Pensja > 5000. Bez WHERE zapytanie zwróci wszystkie wiersze z tabeli.
Warunek "więcej niż 5000" zapisuje się operatorem porównania >, czyli np. Pensja > 5000. To oznacza wartość ściśle większą od 5000, bez włączania 5000 do wyniku.
!= 5000 znaczy "różne od 5000", więc obejmuje zarówno wartości mniejsze, jak i większe. Takie zapytanie zwróci też pracowników z pensją 3000 czy 4500, co łamie warunek "zarabiają więcej niż 5000".
Operator > oznacza "ściśle większe" (bez równości), a >= oznacza "większe lub równe". W zadaniach egzaminacyjnych to kluczowe: "więcej niż 5000" to > 5000, a "co najmniej 5000" to >= 5000.
Nie zawsze. SELECT * zwraca wszystkie kolumny, co bywa wygodne w ćwiczeniach. W praktyce lepiej wskazać konkretne kolumny (np. ID, Imię, Nazwisko, Pensja), bo to poprawia czytelność i może ograniczać ilość przesyłanych danych.
Stosuje się operatory logiczne AND i OR, np. Pensja > 5000 AND Nazwisko = 'Kowalski'. Warto pamiętać o nawiasach, gdy łączysz kilka warunków, aby zachować właściwą kolejność logiki.
Zależy od systemu bazy danych i sposobu tworzenia obiektów. W wielu konfiguracjach MySQL i SQL Server nazwy bywają niewrażliwe na wielkość liter, a w PostgreSQL nieujęte w cudzysłów są zwykle traktowane jako małe litery. Na egzaminie liczy się poprawna logika zapytania.
Najczęściej myli się operatory: używa "=" zamiast ">", wybiera "!=" myśląc, że to "powyżej progu", albo nie zauważa różnicy między "więcej niż" a "co najmniej". Błędy powoduje też brak uwagi na słowa "ściśle", "minimum", "powyżej".
Możesz użyć zapytania filtrującego, np. SELECT * FROM Pracownicy WHERE Pensja > 5000. Dodatkowo, aby policzyć takich pracowników, użyj agregacji: SELECT COUNT(*) ... WHERE Pensja > 5000.
Gdy potrzebujesz tylko części danych (np. do listy w aplikacji webowej), wybór konkretnych kolumn zmniejsza ilość danych, poprawia czytelność i stabilizuje kod (zmiany w tabeli mniej wpływają na aplikację). SELECT * zostaw głównie do szybkich testów.
info

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

Eksperci podkreślają: "Poprawne zapytanie musi filtrować wiersze warunkiem w klauzuli WHERE."

Źródła:

  • MySQL 8.0 Reference Manual – SELECT Statement (syntax and WHERE clause): https://dev.mysql.com/doc/refman/8.0/en/select.html (dostęp: 2026-03-01)
  • PostgreSQL Documentation – SELECT (query filtering with WHERE): https://www.postgresql.org/docs/current/sql-select.html (dostęp: 2026-03-01)
  • Microsoft Learn – SELECT (Transact-SQL) / WHERE usage in queries: https://learn.microsoft.com/en-us/sql/t-sql/queries/select-transact-sql (dostęp: 2026-03-01)

Materiały:

  • Dokumentacja DBMS (MySQL/PostgreSQL/SQL Server) – rozdział o SELECT i WHERE
  • Ćwiczenia z podstaw zapytań SQL: filtrowanie, porównania, operatory logiczne
  • Materiały szkolne do INF.3 z modułu bazy danych i język SQL

Aktualizacja pytania: 31.03.2026



Aktualizacja pytania: 31.03.2026
📡 Brak połączenia internetowego