W SQL, aby pobrać dane z tabeli, używa się instrukcji SELECT. Lista po słowie SELECT określa, jakie kolumny mają znaleźć się w wyniku, a klauzula WHERE służy do filtrowania wierszy (rekordów) zgodnie z warunkiem.
W tym zadaniu celem jest uzyskanie samych nazwisk osób, których wiek jest większy niż 30. To oznacza dwa wymagania jednocześnie:
- zwracamy tylko jedną kolumnę: Nazwisko,
- stosujemy filtr: Wiek > 30.
Dlatego poprawna postać to zapytanie w stylu: SELECT Nazwisko FROM Osoby WHERE Wiek > 30. Taki zapis ogranicza wynik do wymaganej kolumny i wybiera wyłącznie rekordy spełniające warunek porównania.
Dlaczego pozostałe propozycje są niepoprawne?
- Opcja z warunkiem Wiek = 30 jest błędna, bo wybiera osoby mające dokładnie 30 lat, a nie starsze.
- Opcja z Wiek < 30 odwraca sens warunku i zwraca osoby młodsze niż 30 lat.
- Opcja zwracająca Nazwisko, Wiek może prawidłowo filtrować wiersze, ale nie spełnia wymogu pytania, bo wynik ma zawierać nazwiska (bez dodatkowej kolumny wieku). Na egzaminie to częsty "haczyk": poprawny filtr nie wystarczy, jeśli lista kolumn w SELECT jest inna niż wymagana.
Wskazówka egzaminacyjna: zawsze rozdziel w myślach dwa elementy zapytania — co zwracam (SELECT) i które rekordy wybieram (WHERE). Dzięki temu łatwiej uniknąć błędów typu "dobry warunek, zły zestaw kolumn".