В этом учебном материале вы узнаете, как использовать 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.