SQL условие NOT

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

Описание

SQL условие NOT (иногда называемое оператор NOT) используется для отмены условия в предложении WHERE оператора SELECT, INSERT, UPDATE или DELETE.

Синтаксис

Синтаксис условия NOT в SQL.

NOT condition

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

condition
Это условие для отрицания. Для включения записи в набор результатов необходимо выбрать противоположное condition.

Пример — использование NOT с условием IN

Давайте начнем с рассмотрения того, как использовать NOT с условием IN. Когда мы используем оператор NOT с условием IN, мы создаем условие NOT IN. Это проверит, нет ли выражения в списке.
В этом примере у нас есть таблица products со следующими данными:

product_idproduct_namecategory_id
1Pear50
2Banana50
3Orange50
4Apple50
5Bread75
6Sliced Ham25
7KleenexNULL

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

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

product_idproduct_namecategory_id
3Orange50
4Apple50
6Sliced Ham25
7KleenexNULL

В этом примере будут возвращены все строки из таблицы products, где product_name не является Pear, Banana или Bread. Иногда более эффективно перечислять значения, которые вы не хотите, в отличие от значений, которые вы хотите.
Это эквивалентно следующему оператору SQL.

Пример — использование NOT с условием IS NULL

Когда вы объединяете оператор NOT с условием IS NULL , вы создаете условие IS NOT NULL, которое позволяет вам проверять значение, отличное от NULL. Это рекомендуемый оператор сравнения для использования в SQL при проверке значений, отличных от NULL. Давайте рассмотрим пример, который показывает, как использовать условие IS NOT NULL в запросе.
Используя тот же products, что и в предыдущем примере.

product_idproduct_namecategory_id
1Pear50
2Banana50
3Orange50
4Apple50
5Bread75
6Sliced Ham25
7KleenexNULL

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

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

product_idproduct_namecategory_id
1Pear50
2Banana50
3Orange50
4Apple50
5Bread75
6Sliced Ham25

В этом примере будут возвращены все записи из таблицы products, где customer_id не содержит значения NULL.

Пример — использование NOT с условием LIKE

Далее давайте рассмотрим пример использования оператора NOT с условием LIKE.
В этом примере у нас есть таблица suppliers со следующими данными:

supplier_idsupplier_namecitystate
100YandexMoscowRussian
200GoogleLansingMichigan
300OracleRedwood CityCalifornia
400BingRedmondWashington
500YahooSunnyvaleWashington
600DuckDuckGoPaoliPennsylvania
700QwantParisFrance
800FacebookMenlo ParkCalifornia
900Electronic ArtsSan FranciscoCalifornia

Давайте посмотрим на все записи в таблице suppliers, где supplier_name не содержит букву ‘o’. Введите следующий SQL оператор.

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

supplier_idsupplier_namecitystate
100YandexMoscowRussian
300OracleRedwood CityCalifornia
400BingRedmondWashington
700QwantParisFrance

В этом примере в таблице suppliers есть четыре записи, в которых supplier_name не содержит литеры ‘o’.

Пример — использование NOT с условием BETWEEN

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

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

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

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

customer_idfirst_namelast_namefavorite_website
4000JustinBiebergoogle.com
9000RussellCrowegoogle.com

Это вернет все строки, где customer_id не находится в диапазоне между 5000 и 8000 включительно. Это было бы эквивалентно следующему оператору SELECT.

Пример — использование NOT с условием EXISTS

Наконец, условие NOT можно объединить с условием EXISTS, чтобы создать условие NOT EXISTS. Давайте рассмотрим пример, который показывает, как использовать условие NOT EXISTS в SQL.
В этом примере у нас есть таблица customers со следующими данными:

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

И таблица с именем orders со следующими данными:

order_idcustomer_idorder_date
170002019/06/18
250002019/06/18
380002019/06/19
440002019/06/20
5NULL2019/07/01

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

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

customer_idfirst_namelast_namefavorite_website
6000 MilaKunisyahoo.com
9000RussellCrowegoogle.com

В этом примере возвращаются все записи из таблицы customer, где в таблице orders нет записей для данного customer_id.