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_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

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

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

product_id product_name category_id
3 Orange 50
4 Apple 50
6 Sliced Ham 25
7 Kleenex NULL

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

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

Когда вы объединяете оператор NOT с условием IS NULL , вы создаете условие IS NOT NULL, которое позволяет вам проверять значение, отличное от NULL. Это рекомендуемый оператор сравнения для использования в SQL при проверке значений, отличных от NULL. Давайте рассмотрим пример, который показывает, как использовать условие IS NOT NULL в запросе.
Используя тот же 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

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

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

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

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

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

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

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

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

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

supplier_id supplier_name city state
100 Yandex Moscow Russian
300 Oracle Redwood City California
400 Bing Redmond Washington
700 Qwant Paris France

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

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

Оператор NOT также можно комбинировать с условием BETWEEN для создания условия NOT BETWEEN. Давайте рассмотрим пример, который показывает, как использовать условие NOT BETWEEN в запросе.
В этом примере у нас есть таблица 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

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

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

customer_id first_name last_name favorite_website
4000 Justin Bieber google.com
9000 Russell Crowe google.com

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

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

Наконец, условие NOT можно объединить с условием EXISTS, чтобы создать условие NOT EXISTS. Давайте рассмотрим пример, который показывает, как использовать условие NOT EXISTS в SQL.
В этом примере у нас есть таблица 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

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

order_id customer_id order_date
1 7000 2019/06/18
2 5000 2019/06/18
3 8000 2019/06/19
4 4000 2019/06/20
5 NULL 2019/07/01

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

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

customer_id first_name last_name favorite_website
6000  Mila Kunis yahoo.com
9000 Russell Crowe google.com

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