KWALIFIKACJA INF3 - STYCZEŃ 2021 (test 2)

PYTANIE NR 23.
Aby wyświetlić rekordy z tabeli pracownicy tylko dla pracowników, którzy skończyli 26 lat należy użyć zapytania
A.
B.
C.
D.
Wyjaśnienie poprawnej odpowiedzi:
Poprawne filtrowanie rekordów w SQL wykonuje się przez klauzulę WHERE.
Zapytanie z warunkiem wiek > 25 zwróci tylko te wiersze z tabeli pracownicy, które spełniają kryterium wieku. Konstrukcje z AND/OR bez WHERE oraz zamiana nazw tabel/kolumn powodują błąd składni lub inne znaczenie zapytania.

Pełne wyjaśnienie:

W SQL pobieranie danych z tabeli realizuje się poleceniem SELECT. Jeśli chcemy uzyskać tylko część rekordów (np. wyłącznie pracowników spełniających warunek wieku), konieczne jest zastosowanie klauzuli WHERE, która filtruje wiersze na podstawie wyrażenia logicznego.

Zapytanie SELECT * FROM pracownicy WHERE wiek > 25; ma poprawną strukturę: najpierw wskazuje zestaw danych (tabela pracownicy), a następnie nakłada warunek na kolumnę wiek. Dzięki temu zwrócone zostaną wyłącznie rekordy, dla których warunek jest prawdziwy.

Odpowiedź SELECT * FROM pracownicy AND wiek > 25; jest błędna, ponieważ po wskazaniu tabeli nie łączy się jej operatorem logicznym AND. AND służy do łączenia warunków (np. w obrębie WHERE), a nie do zastępowania klauzuli filtrującej.

Odpowiedź SELECT * FROM wiek WHERE pracownicy > 25; odwraca role obiektów: wiek wygląda jak nazwa kolumny, a nie tabeli, a pracownicy jak nazwa tabeli, a nie kolumny liczbowej do porównania. To typowy błąd mieszania nazw tabel i pól.

Odpowiedź SELECT * FROM pracownicy OR wiek > 25; jest błędna, bo OR również nie zastępuje WHERE. OR jest operatorem logicznym używanym do łączenia dwóch warunków (np. WHERE warunek1 OR warunek2), a nie elementem składni stojącym między FROM a porównaniem.

Wskazówka egzaminacyjna: najpierw sprawdź, czy zapytanie ma kolejność SELECT … FROM … WHERE …. Jeśli brakuje WHERE w pytaniu o filtrowanie, odpowiedź prawie na pewno jest niepoprawna.

Dodatkowe pytania

Dodatkowe pytania (FAQ):
Klauzula WHERE filtruje wiersze zwracane przez SELECT. Po FROM podajesz warunek, np. wiek > 25, i tylko rekordy spełniające warunek pojawią się w wyniku. Bez WHERE zapytanie zwraca wszystkie rekordy z tabeli.
AND to operator łączący dwa warunki logiczne, np. w obrębie WHERE lub HAVING. Nie jest elementem struktury zapytania zastępującym WHERE. Zapis typu FROM tabela AND warunek jest błędem składni w SQL.
Warunek wiek > 25 oznacza, że do wyniku trafią tylko te rekordy, w których wartość w kolumnie wiek jest większa niż 25. W praktyce (przy wieku jako liczbie całkowitej) odpowiada to osobom w wieku co najmniej 26 lat.
Operator OR stosuje się do łączenia alternatywnych warunków w WHERE, np. WHERE stanowisko = 'A' OR stanowisko = 'B'. Samo wstawienie OR między FROM a warunkiem nie tworzy poprawnego zapytania.
Łączysz warunki operatorami AND lub OR wewnątrz WHERE, np. WHERE wiek > 25 AND miasto = 'Kraków'. Kluczowe jest, aby oba warunki odnosiły się do kolumn i tworzyły logiczne wyrażenie.
Na egzaminie bywa akceptowane, ale w praktyce często lepiej wskazać konkretne kolumny, bo to poprawia czytelność i wydajność (mniej danych do przesłania). Zamiast SELECT * użyj np. SELECT imie, nazwisko, gdy tylko te pola są potrzebne.
Typowe pomyłki to: brak klauzuli WHERE mimo potrzeby filtrowania, mylenie nazw tabel z nazwami kolumn, użycie AND/OR w złym miejscu oraz błędne operatory porównania. Pomaga sprawdzenie schematu: SELECT → FROM → WHERE.
Nazwa tabeli to źródło danych po FROM (np. pracownicy). Nazwy kolumn występują w liście SELECT lub w warunku WHERE (np. wiek). Jeśli w warunku porównujesz wartość liczbową, po lewej zwykle stoi kolumna liczbowa.
Średnik często kończy instrukcję SQL w konsolach i wielu narzędziach, ale nie zawsze jest wymagany w kodzie aplikacji (zależnie od biblioteki/sterownika). Na egzaminie zwykle przyjmuje się zapisy ze średnikiem, bo są jednoznaczne.
Ćwicz schematy zapytań: SELECT z WHERE, sortowanie ORDER BY, ograniczanie wyników oraz podstawowe złączenia. Rób krótkie zadania na prostych tabelach (np. pracownicy, produkty) i zawsze sprawdzaj, czy warunek dotyczy właściwej kolumny.
info

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

Specjaliści zwracają uwagę: "Poprawne filtrowanie rekordów w SQL wykonuje się przez klauzulę WHERE.Zapytanie z warunkiem wiek > 25 zwróci tylko te wiersze z tabeli pracownicy, które spełniają kryterium wieku."

Ź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 - accessed 2026-02-27
  • PostgreSQL Documentation: "SELECT" (WHERE clause), https://www.postgresql.org/docs/current/sql-select.html - accessed 2026-02-27
  • SQLite Documentation: "SELECT" (WHERE clause), https://www.sqlite.org/lang_select.html - accessed 2026-02-27

Materiały:

  • Dokumentacja SQL dla używanego silnika bazy danych (MySQL/PostgreSQL/SQLite) – sekcje SELECT i WHERE
  • Kurs podstaw SQL (selekcja danych, warunki, operatory porównania)
  • Zadania praktyczne: tworzenie zapytań filtrujących na tabelach przykładowych

Aktualizacja pytania: 31.03.2026



Aktualizacja pytania: 31.03.2026
📡 Brak połączenia internetowego