Operator OR w SQL

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

Operator logiczny OR w SQL oznacza „lub”. Służy do budowania warunków, w których wystarczy spełnienie przynajmniej jednego z podanych warunków.

Składnia

SELECT kolumny
FROM tabela
WHERE warunek1 OR warunek2;

Jeżeli pierwszy albo drugi warunek jest prawdziwy, wiersz zostanie zwrócony w wyniku zapytania.

Przykład

SELECT nazwisko, imie
FROM mieszkancy
WHERE miasto = 'Poznań' OR miasto = 'Kraków';

To zapytanie wybiera osoby, których miasto to Poznań lub Kraków.

Częsty błąd

Niepoprawny zapis:

WHERE miasto = 'Poznań' OR 'Kraków'

Warunek musi być zapisany osobno dla każdej porównywanej wartości:

WHERE miasto = 'Poznań' OR miasto = 'Kraków'

Alternatywa: IN

Dla wielu wartości tej samej kolumny wygodniejszy jest operator IN:

SELECT nazwisko, imie
FROM mieszkancy
WHERE miasto IN ('Poznań', 'Kraków');

Taki zapis jest krótszy i czytelniejszy, ale logicznie odpowiada użyciu kilku warunków połączonych operatorem OR.