IS NULL используется для проверки, является ли значение в столбце таблицы равным NULL. Это очень важный оператор, так как NULL — это особое значение, которое обозначает отсутствие данных или неизвестное значение. В этой статье мы рассмотрим, как работает IS NULL, почему его нельзя заменить на = NULL, и приведем примеры использования.Что такое "NULL"?
NULL — это специальное значение в SQL, которое обозначает отсутствие данных или неизвестное значение. Это не то же самое, что пустая строка ('') или ноль (0). NULL означает, что для данного столбца в конкретной строке нет никакого значения.Пример таблицы:
Допустим, у вас есть таблица
employees с колонкой salary, которая может содержать значения NULL:
id name salary
1 John 5000
2 Alice NULL
3 Bob 6000В этой таблице у сотрудника с
id = 2 значение salary равно NULL, что означает, что его зарплата неизвестна.Почему нельзя использовать "= NULL"?
В SQL нельзя использовать оператор
= для проверки на NULL. Например, следующий запрос не вернет никаких строк:
SELECT *
FROM employees
WHERE salary = NULL;Это связано с тем, что в SQL
NULL не равен ни одному значению, включая сам NULL. Для проверки на NULL используется специальный оператор IS NULL.Как использовать "IS NULL"?
Оператор
IS NULL проверяет, является ли значение в столбце равным NULL. Синтаксис:
SELECT *
FROM таблица
WHERE столбец IS NULL;Пример:
SELECT *
FROM employees
WHERE salary IS NULL;Этот запрос вернет все строки из таблицы
employees, где значение в столбце salary отсутствует (равно NULL).Результат:
id name salary
2 Alice NULLИспользование "IS NOT NULL"
Оператор
IS NOT NULL проверяет, что значение в столбце не равно NULL. Синтаксис:
SELECT *
FROM таблица
WHERE столбец IS NOT NULL;Пример:
SELECT *
FROM employees
WHERE salary IS NOT NULL;Этот запрос вернет все строки из таблицы
employees, где значение в столбце salary указано (не равно NULL).Результат:
id name salary
1 John 5000
3 Bob 6000Оператор
IS NULL — это мощный инструмент для работы с отсутствующими данными в SQL. Он позволяет легко находить строки, где значение в столбце отсутствует, и помогает избежать ошибок при работе с NULL. Помните, что NULL — это особое значение, и его нельзя сравнивать с помощью оператора =. Используйте IS NULL и IS NOT NULL для корректной работы с отсутствующими данными.