В этом учебном материале вы узнаете, как использовать SQL условие IS NULL с синтаксисом и примерами.
Описание
Условие IS NULL используется в SQL для проверки значения NULL. Оно возвращает TRUE, если найдено значение NULL, в противном случае оно возвращает FALSE. Его можно использовать в операторе SELECT, INSERT, UPDATE или DELETE.
Синтаксис
Синтаксис для условия IS NULL в SQL:
Параметры или аргументы
- expression
- Выражение для проверки значения NULL.
Пример - использование IS NULL с оператором SELECT
При тестировании на NULL значение, IS NULL является рекомендуемым оператором сравнения для использования в SQL. Давайте начнем с примера, который показывает, как использовать условие IS NULL в запросе SELECT.
В этом примере у нас есть таблица 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 оператор:
1 2 3 |
SELECT * FROM customers WHERE favorite_website IS NULL; |
Будет выбрана 1 запись. Вот результаты, которые вы получите:
customer_id | first_name | last_name | favorite_website |
---|---|---|---|
8000 | Johnny | Depp | NULL |
В этом примере будут возвращены все записи из таблицы customers, где поле favourite_website содержит значение NULL.
Пример - использование IS NULL с оператором UPDATE
Далее давайте рассмотрим пример использования условия IS NULL в запросе UPDATE.
В этом примере у нас есть таблица 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 |
Введите следующий запрос UPDATE:
1 2 3 |
UPDATE products SET category_id = 110 WHERE category_id IS NULL; |
Будет обновлена 1 запись. Снова выберите данные из таблицы products:
1 2 |
SELECT * FROM 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 | 110 |
В этом примере будут обновлены все значения category_id в таблице products до 110, где category_id содержит значение NULL. Как видите, category_id в последней строке обновлен до 110.
Пример - использование IS NULL с оператором DELETE
Далее давайте рассмотрим пример использования условия IS NULL в операторе DELETE.
В этом примере у нас есть таблица 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 |
Введите следующий оператор DELETE:
1 2 |
DELETE FROM orders WHERE customer_id IS NULL; |
Будет удалена 1 запись. Снова выберите данные из таблицы orders:
1 2 |
SELECT * FROM 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 |
В этом примере будут удалены все записи из таблицы orders, где customer_id содержит значение NULL. Как вы можете видеть, запрос удалил запись для order_id = 5.