Operatory logiczne w SQL

Słownik kwalifikacji INF.03 - Tworzenie i administrowanie stronami i aplikacjami internetowymi oraz bazami danych

Operatory logiczne służą do łączenia kilku warunków w klauzuli WHERE. Najważniejsze z nich to AND, OR i NOT.

Operator AND

AND oznacza, że wszystkie warunki muszą być spełnione jednocześnie.

SELECT nazwa
FROM zwierzeta
WHERE dlugosc_zycia >= 20 AND gromada = 'ssak';

Wynikiem będą tylko zwierzęta, które spełniają oba warunki: żyją minimum 20 lat oraz należą do ssaków.

Operator OR

OR oznacza, że wystarczy spełnienie co najmniej jednego warunku.

SELECT nazwa
FROM zwierzeta
WHERE dlugosc_zycia >= 20 OR gromada = 'ssak';

To zapytanie zwróci zwierzęta żyjące co najmniej 20 lat, a także wszystkie ssaki, nawet jeśli żyją krócej niż 20 lat.

Operator NOT

NOT odwraca warunek.

SELECT nazwa
FROM zwierzeta
WHERE NOT gromada = 'ssak';

Zapytanie zwróci zwierzęta, które nie są ssakami.

Kolejność działań

W bardziej złożonych warunkach warto używać nawiasów, aby uniknąć niejednoznaczności:

SELECT nazwa
FROM zwierzeta
WHERE gromada = 'ssak' AND (dlugosc_zycia >= 20 OR dlugosc_zycia IS NULL);

Na egzaminie szczególnie ważne jest rozróżnienie: AND odpowiada słowu „oraz”, a OR odpowiada słowu „lub”.