SQL комбинирование условий AND и OR

В этом учебном материале вы узнаете, как использовать условие AND и условие OR в одном SQL запросе с синтаксисом и примерами.

Описание

SQL условия AND и OR можно комбинировать для проверки нескольких условий в операторе SELECT, INSERT, UPDATE или DELETE.

Синтаксис

Синтаксис для условий AND и OR в SQL:

WHERE condition1
AND condition2
...
OR condition_n;

Параметры или аргументы

condition1, condition2, ... condition_n
Условия, которые оцениваются, чтобы определить, будут ли выбраны записи.

Примечание

  • SQL условия позволяют тестировать несколько условий.
  • Не забудьте порядок операций в скобках!

Пример — использование условий AND и OR с оператором SELECT

Рассмотрим пример того, как совместно использовать условие AND и условие OR в операторе SELECT.

В этом примере у нас есть таблица suppliers со следующими данными:

supplier_id supplier_name city state
100 Yandex Moscow Moscow
200 Google Lansing Michigan
300 Oracle Redwood City California
400 Bing Redmond Washington
500 Yahoo Sunnyvale Washington
600 DuckDuckGo Paoli Pennsylvania
700 Qwant Paris Ile de France
800 Facebook Menlo Park California
900 Electronic Arts San Francisco California

Введите следующий SQL оператор:

Будет выбрано 3 записи. Вот результаты, которые вы получите:

supplier_id supplier_name city state
100 Yandex Moscow Moscow
300 Oracle Redwood City California
800 Facebook Menlo Park California

В этом примере будут возвращены все записи таблицы suppliers, которые находятся в штате California, но не имеют значения supplier_id, равного 900. В запросе также будут возвращены все записи suppliers, supplier_id которых равен 100. Скобки определяют порядок оценки условий AND и OR.

Пример использование условий AND и OR с оператором UPDATE

Далее давайте рассмотрим, как использовать условия AND и OR с оператором 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

Теперь продемонстрируем, как использовать условия AND и OR для обновления записей в таблице. Введите следующий оператор UPDATE:

Будет обновлено 2 записи. Выберите данные из таблицы customers еще раз:

Вот результаты, которые вы получите:

customer_id first_name last_name favorite_website
4000 Justin Bieber google.com
5000 Selena Gomez bing.com
6000  Mila Kunis google.com
7000 Tom Cruise oracle.com
8000 Johnny Depp google.com
9000 Russell Crowe google.com

В этом примере будут обновлены все значения столбца favourite_website в таблице customers до google.com, где customer_id равно 6000, а также эти записи где customer_id больше 7000, а last_name не равно 'Crowe'. Как видите, значение favourite_website в третьей и пятой строках обновлено.

Пример - использование условий AND и OR с оператором DELETE

Далее давайте рассмотрим, как объединить условия AND и 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:

Будет удалено 3 записи. Снова выберите данные из таблицы products следующим запросом:

Вот результаты, которые вы должны получить:

product_id product_name category_id
2 Banana 50
4 Apple 50
5 Bread 75
7 Kleenex NULL

В этом примере удаляются все записи из таблицы products, где category_id равен 25. Он также удаляет все записи из таблицы products, где product_id меньше 4, а product_name не равно 'Banana'.