Zapytanie ma zwrócić wyłącznie imiona i nazwiska pacjentów, którzy spełniają dwa warunki jednocześnie: mają wiek poniżej 18 lat oraz są przypisani do lekarza o identyfikatorze 6. Do tego służy klasyczna konstrukcja SELECT–FROM–WHERE.
Odpowiedź "SELECT imie, nazwisko FROM Pacjenci WHERE wiek < 18 AND lekarz_id = 6" jest poprawna, bo:
- SELECT imie, nazwisko wybiera tylko wymagane kolumny do raportu.
- FROM Pacjenci wskazuje źródło danych (tabelę), bez czego zapytanie jest niekompletne w typowych dialektach SQL.
- WHERE zawęża wiersze do tych, które spełniają warunki.
- AND oznacza koniunkcję: rekord przechodzi filtr tylko wtedy, gdy oba wyrażenia są prawdziwe.
Odpowiedzi bez fragmentu FROM Pacjenci są błędne, ponieważ nie wskazują tabeli, z której mają pochodzić dane. W praktyce silniki baz danych zgłoszą błąd składni lub nie będą w stanie wykonać zapytania zgodnie z intencją.
Warianty z operatorem OR są błędne merytorycznie: zwróciłyby także pacjentów, którzy mają mniej niż 18 lat, ale są zapisani do innego lekarza niż 6, oraz pacjentów mających 18 lat lub więcej, ale przypisanych do lekarza 6. To nie spełnia warunku "poniżej 18 roku życia" i "do lekarza o id 6".
Wskazówka egzaminacyjna: gdy w treści jest "spełniające oba kryteria / jednocześnie", niemal zawsze szukasz AND; gdy jest "spełniające przynajmniej jedno", zwykle będzie to OR.