Zapytanie SQL:
SELECT model FROM samochody WHERE rocznik = 2016;
działa w dwóch krokach:
- WHERE rocznik = 2016 filtruje wiersze tabeli samochody i pozostawia tylko te rekordy, w których wartość w kolumnie rocznik jest równa 2016.
- SELECT model oznacza, że w wyniku mają się pojawić wyłącznie wartości z kolumny model (czyli nazwy modeli), a nie cały rekord i nie inne kolumny (np. marka czy kolor).
Dlatego poprawny wynik to lista modeli należących do wierszy z rocznikiem 2016. Odpowiedź "Punto, Corsa, Corolla." jest zgodna z tym, co zwraca zapytanie: są to modele z rekordów spełniających warunek rocznika.
Dlaczego pozostałe propozycje są błędne?
- "Czerwony, grafitowy." – to typowe wartości dla kolumny opisującej kolor. Zapytanie nie wybiera koloru, tylko model.
- "Fiat, Opel, Toyota." – to nazwy marek (producentów), czyli inna kolumna niż model. Nawet jeśli te marki występują w rekordach z 2016, zapytanie nie zwraca marek.
- "Punto, Corsa, Astra, Corolla, Yaris." – wygląda jak lista wszystkich modeli z tabeli (bez zastosowania warunku) albo lista modeli z wielu roczników. To błąd polegający na pominięciu filtra rocznik = 2016.
Wskazówka egzaminacyjna: zawsze najpierw sprawdź, jakie kolumny są w SELECT (co ma być wypisane), a dopiero potem jakie warunki są w WHERE (które wiersze wchodzą do wyniku). To minimalizuje pomyłki typu "wybrałem dobre wiersze, ale złe pole".