Оператор OR
Оператор OR используется для фильтрации записей на основе более чем одного условия.
Предложение WHERE может содержать один или несколько операторов OR.
Например, если вы хотите вернуть всех клиентов из Германии, но также и из Испании:
Выберите всех клиентов из Германии или Испании:
SELECT *
FROM Customers
WHERE Country = 'Germany' OR Country = 'Spain';
Попробуйте сами »
Синтаксис OR
SELECT column1, column2, ...
FROM table_name
WHERE condition1 OR condition2 OR condition3 ...;Оператор OR или AND
Оператор OR оператор отображает запись, если какое-либо из условий TRUE.
Оператор AND оператор отображает запись, если все условия TRUE.
Демо база данных
Ниже приведена подборка из таблицы Customers, используемая в примерах:
| CustomerID | CustomerName | ContactName | Address | City | PostalCode | Country |
|---|---|---|---|---|---|---|
| 1 |
Alfreds Futterkiste | Maria Anders | Obere Str. 57 | Berlin | 12209 | Germany |
| 2 | Ana Trujillo Emparedados y helados | Ana Trujillo | Avda. de la Constitución 2222 | México D.F. | 05021 | Mexico |
| 3 | Antonio Moreno Taquería | Antonio Moreno | Mataderos 2312 | México D.F. | 05023 | Mexico |
| 4 |
Around the Horn | Thomas Hardy | 120 Hanover Sq. | London | WA1 1DP | UK |
| 5 | Berglunds snabbköp | Christina Berglund | Berguvsvägen 8 | Luleå | S-958 22 | Sweden |
Одно условие должно быть выполнено
Следующая инструкция SQL выбирает все поля от клиентов, в которых либо
City является "Берлин",
CustomerName начинается с буквы "G" или
Country является "Норвегия":
SELECT * FROM Customers
WHERE City = 'Berlin'
OR CustomerName LIKE 'G%'
OR Country = 'Norway';
Попробуйте сами »
Комбинирование AND или OR
Вы можете комбинировать следующие операторы AND и OR.
Следующая инструкция SQL выбирает всех клиентов из Испании, имена которых начинаются с "G" или "R".
Убедитесь, что вы используете круглые скобки, чтобы получить правильный результат.
Выберите всех испанских клиентов, имена которых начинаются с "G", или "R":
SELECT * FROM Customers
WHERE Country = 'Spain'
AND (CustomerName LIKE 'G%' OR CustomerName LIKE 'R%');
Попробуйте сами »
Без скобок оператор select вернет всех клиентов из Испании, имена которых начинаются с "G", плюс все клиенты, имя которых начинается на "R", независимо от значения страны:
Выберите всех клиентов, которые родом из Испании и начинаются с "G", или начинается с буквы "R":
SELECT * FROM Customers
WHERE Country = 'Spain'
AND CustomerName LIKE 'G%' OR CustomerName LIKE 'R%';
Попробуйте сами »