В этом учебном материале вы узнаете, как использовать SQL условие OR с синтаксисом и примерами.
Описание
SQL условие OR используется для проверки нескольких условий в операторе SELECT, INSERT, UPDATE или DELETE. Любое из условий должно быть выполнено для выбора записи.
Синтаксис
Синтаксис для условия OR в SQL.
OR condition2
...
OR condition_n;
Параметры или аргумент
- condition1, condition2, ... condition_n
- Несколько условий, которые будут проверены для каждой записи. Любое условие может быть выполнено для включения в набор результатов
Пример - использование условия OR с оператором SELECT
Давайте рассмотрим пример который показывает, как использовать условие OR в операторе SELECT для проверки нескольких условий, когда любое условие должно быть выполнено для записей, которые будут выбраны.
В этом примере у нас есть таблица suppliers со следующими данными:
supplier_id | supplier_name | city | state |
---|---|---|---|
100 | Yandex | Moscow | Russian |
200 | Lansing | Michigan | |
300 | Oracle | Redwood City | California |
400 | Bing | Redmond | Washington |
500 | Yahoo | Sunnyvale | Washington |
600 | DuckDuckGo | Paoli | Pennsylvania |
700 | Qwant | Paris | France |
800 | Menlo Park | California | |
900 | Electronic Arts | San Francisco | California |
Теперь давайте продемонстрируем, как использовать условие OR для проверки двух условий. Введите следующий оператор SELECT.
1 2 3 4 5 |
SELECT * FROM suppliers WHERE city = 'Lansing' OR supplier_id = 100 ORDER BY supplier_name; |
Будет выбрано 2 записи. Вот результаты, которые вы должны получить.
supplier_id | supplier_name | city | state |
---|---|---|---|
100 | Yandex | Moscow | Russian |
200 | Lansing | Michigan |
В этом примере возвращаются все suppliers, которые находятся в городе Lansing или имеют supplier_id, равный 100. Поскольку * используется в операторе SELECT, то все поля из таблицы suppliers появятся в наборе результатов.
Пример - использование условия OR с оператором UPDATE
SQL условие OR можно использовать в SQL операторе UPDATE для проверки нескольких условий.
В этом примере у нас есть таблица customers со следующими данными:
customer_id | first_name | last_name | favorite_website |
---|---|---|---|
4000 | Justin | Bieber | google.com |
5000 | Selena | Gomez | bing.com |
6000 | Mila | Kunis | yahoo.com |
7000 | Tom | Cruise | oracle.com |
8000 | Johnny | Depp | NULL |
9000 | Russell | Crowe | google.com |
Введите следующую запрос UPDATE.
1 2 3 4 5 |
UPDATE customers SET favorite_website = 'Google.com' WHERE customer_id = 5000 OR last_name = 'Cruise' OR first_name = 'Johnny'; |
Будет обновлено 3 записи. Снова выберите данные из таблицы customers.
1 2 |
SELECT * FROM customers; |
Вот результаты, которые вы должны получить.
customer_id | first_name | last_name | favorite_website |
---|---|---|---|
4000 | Justin | Bieber | google.com |
5000 | Selena | Gomez | google.com |
6000 | Mila | Kunis | yahoo.com |
7000 | Tom | Cruise | google.com |
8000 | Johnny | Depp | google.com |
9000 | Russell | Crowe | google.com |
В этом примере будут обновлены все значения favourite_website в таблице customers до google.com, где customer_id равно 5000 или last_name это 'Cruise' или first_name это 'Johnny'. Как видите, поле fav_website во 2-й, 4-й и 5-й строках обновлено.
Пример - использование условие OR с оператором DELETE
Теперь давайте посмотрим, как использовать условие OR в операторе DELETE для проверки любого из условий, которые должны быть выполнены до удаления записи.
В этом примере у нас есть таблица products со следующими данными:
product_id | product_name | category_id |
---|---|---|
1 | Pear | 50 |
2 | Banana | 50 |
3 | Orange | 50 |
4 | Apple | 50 |
5 | Bread | 75 |
6 | Sliced Ham | 25 |
7 | Kleenex | NULL |
Введите следующий оператор DELETE.
1 2 3 4 |
DELETE FROM products WHERE product_name = 'Pear' OR product_name = 'Apple' OR category_id = 25; |
Будут удалены 3 записи. Снова выберите данные из таблицы products.
1 2 |
SELECT * FROM products; |
Вот результаты, которые вы должны получить.
product_id | product_name | category_id |
---|---|---|
2 | Banana | 50 |
3 | Orange | 50 |
5 | Bread | 75 |
7 | Kleenex | NULL |
В этом примере будут удалены все записи из таблицы products, где product_name - Pear, product_name - Apple или category_id =25.