IS NULL и IS NOT NULL
NULL проверяется специальными конструкциями
Мы уже знаем, что NULL означает отсутствие известного значения. Поэтому его нельзя корректно искать как обычное значение через = или <>.
SELECT id, name
FROM users
WHERE email IS NULL;
IS NULL возвращает строки, где значение отсутствует. Обратная проверка записывается как IS NOT NULL.
SELECT id, name
FROM users
WHERE email IS NOT NULL;
Почему = NULL не работает как ожидается
Сравнение предполагает два известных значения. Если одна сторона неизвестна, SQL не может сказать, что они равны или не равны обычным способом. Поэтому проверка email = NULL не является заменой email IS NULL.
Запомни пару: IS NULL / IS NOT NULL.
Это не стилистическое предпочтение, а отдельная семантика SQL для проверки отсутствующего значения.
Проверь себя
Разбор задания
Ментор знает решение и поможет тебе прийти к нему самостоятельно
Войди, чтобы использовать Ментора
Ментор учитывает текущую задачу и историю диалога.
Войти
Проверь важные нюансы и ответ после собственной попытки.
Войди, чтобы посмотреть решение
Решение и разбор доступны после авторизации.
Войти