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.