Operatory logiczne w SQL służą do łączenia kilku warunków w klauzuli WHERE. Najczęściej używa się operatorów AND, OR oraz NOT.
Operator AND
AND oznacza, że wszystkie warunki muszą być spełnione jednocześnie. Jeśli choć jeden warunek jest fałszywy, rekord nie zostanie zwrócony.
Przykład:
SELECT imie, nazwisko
FROM Pacjenci
WHERE wiek < 18 AND lekarz_id = 6;
Ta kwerenda wybierze tylko tych pacjentów, którzy mają mniej niż 18 lat i jednocześnie są zapisani do lekarza o identyfikatorze 6.
Operator OR
OR oznacza, że wystarczy spełnienie co najmniej jednego warunku.
Przykład:
SELECT imie, nazwisko
FROM Pacjenci
WHERE wiek < 18 OR lekarz_id = 6;
Ta kwerenda zwróci pacjentów, którzy mają mniej niż 18 lat, a także pacjentów zapisanych do lekarza o id 6. Nie muszą spełniać obu warunków naraz.
Operator NOT
NOT zaprzecza warunkowi.
SELECT imie, nazwisko
FROM Pacjenci
WHERE NOT wiek < 18;
Zapytanie zwróci pacjentów, którzy nie mają mniej niż 18 lat.
Ważne na egzaminie
W zadaniach egzaminacyjnych należy dokładnie czytać sformułowania typu „oraz”, „i”, „jednocześnie” — zwykle wskazują one na AND. Słowa „lub”, „albo”, „co najmniej jeden” wskazują na OR.