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_idsupplier_namecitystate
100YandexMoscowMoscow
200GoogleLansingMichigan
300OracleRedwood CityCalifornia
400BingRedmondWashington
500YahooSunnyvaleWashington
600DuckDuckGoPaoliPennsylvania
700QwantParisIle de France
800FacebookMenlo ParkCalifornia
900Electronic ArtsSan FranciscoCalifornia

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

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

supplier_idsupplier_namecitystate
100YandexMoscowMoscow
300OracleRedwood CityCalifornia
800FacebookMenlo ParkCalifornia

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

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

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

customer_idfirst_namelast_namefavorite_website
4000JustinBiebergoogle.com
5000SelenaGomezbing.com
6000 MilaKunisyahoo.com
7000TomCruiseoracle.com
8000JohnnyDeppNULL
9000RussellCrowegoogle.com

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

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

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

customer_idfirst_namelast_namefavorite_website
4000JustinBiebergoogle.com
5000SelenaGomezbing.com
6000 MilaKunisgoogle.com
7000TomCruiseoracle.com
8000JohnnyDeppgoogle.com
9000RussellCrowegoogle.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_idproduct_namecategory_id
1Pear50
2Banana50
3Orange50
4Apple50
5Bread75
6Sliced Ham25
7KleenexNULL

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

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

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

product_idproduct_namecategory_id
2Banana50
4Apple50
5Bread75
7KleenexNULL

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