W zapytaniu:
SELECT imie FROM zwierzeta WHERE rodzaj = 2 AND szczepienie = 2016;
klauzula SELECT imie oznacza, że wynikiem mają być wyłącznie wartości z kolumny imie, a nie całe rekordy. O tym, które rekordy "wejdą" do wyniku, decyduje część WHERE.
Warunek w WHERE ma postać:
rodzaj = 2 AND szczepienie = 2016
Operator AND jest koniunkcją logiczną, więc rekord zostanie zwrócony tylko wtedy, gdy oba porównania są prawdziwe jednocześnie. To znaczy:
- rekord musi mieć wartość rodzaj równą 2,
- oraz wartość szczepienie równą 2016.
Jeśli rekord spełnia tylko jeden z tych warunków, nie zostanie pokazany w wyniku. Dlatego odpowiedź zawierająca dodatkowe imiona (np. takie, które pasują tylko do jednego kryterium) jest błędna.
Poprawny wynik to "Dika, Fuks", ponieważ są to imiona rekordów, które jednocześnie mają rodzaj = 2 i szczepienie = 2016.
Dlaczego pozostałe propozycje są niepoprawne:
- "Figaro, Dika, Fuks" — zawiera "Figaro", czyli rekord niespełniający co najmniej jednego z warunków (w przeciwnym razie znalazłby się w poprawnym zestawie).
- "Fafik, Brutus, Dika, Fuks" — to typowy błąd polegający na potraktowaniu AND jak OR albo pominięciu jednego z filtrów; wynik robi się wtedy zbyt szeroki.
- "Anna Kowalska, Jan Nowak" — te wartości nie pasują do kolumny imie zwierzęcia w kontekście tabeli zwierzeta; to dystraktor oparty na skojarzeniu z danymi osobowymi.
Wskazówka egzaminacyjna: zawsze sprawdź, czy odpowiedzi dotyczą dokładnie tej kolumny, która jest w SELECT, i czy uwzględniają wszystkie warunki w WHERE (szczególnie gdy występuje AND).