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.