SQL код скопирован в буфер обмена
Изучите значения NULL в SQL, понимая, что NULL представляет собой отсутствующие или неизвестные данные. Этот урок охватывает отличие NULL от нуля или пустой строки, важность операторов IS NULL и IS NOT NULL, а также то, как NULL влияет на операции в базе данных и логику.
EN PT

Урок 1.4: Понимание значений NULL в SQL

В мире баз данных вы часто будете сталкиваться с ситуациями, когда данные отсутствуют, неизвестны или неприменимы. SQL использует специальный маркер под названием NULL для представления таких случаев. Понимание NULL критически важно, так как он ведет себя иначе, чем любое другое значение.

Что такое NULL?

NULL - это не значение; это состояние или заполнитель, указывающий на то, что значение данных не существует в базе данных.

Важно помнить, чем NULL НЕ является:

  • NULL - это не 0: Ноль - это число. NULL - это отсутствие числа.
  • NULL - это не пустая строка (' '): Пустая строка - это текст из нуля символов. NULL - это отсутствие текста.
  • NULL - это не "false" (ложь): В логике SQL NULL остается «неизвестностью».

Зачем нам нужен NULL?

  • Неизвестная информация: Например, мы пока не знаем отчество клиента.
  • Неприменимо: Массив «ИНН компании» будет NULL для частного лица.
  • Пропущенные данные: Данные, которые были упущены при вводе.

Работа с NULL: IS NULL и IS NOT NULL

Поскольку NULL представляет собой неизвестное состояние, вы не можете использовать с ним стандартные операторы сравнения, такие как = или <>. Любое сравнение с NULL (например, value = NULL) приведет к результату «неизвестно», а не «истина» или «ложь».

Для проверки значений на NULL необходимо использовать специальные операторы:

1. IS NULL

Используется для поиска записей, в которых столбец не имеет значения.

SELECT *
FROM address
WHERE address2 IS NULL;

2. IS NOT NULL

Используется для поиска записей, в которых столбец содержит хотя бы какие-то данные.

SELECT *
FROM address
WHERE address2 IS NOT NULL;

NULL в вычислениях

Одна из самых важных вещей, которую нужно помнить - NULL распространяется. Если вы выполняете математическую операцию со значением NULL, результатом всегда будет NULL.

  • 10 + NULL = NULL
  • 5 * NULL = NULL
  • 'Привет, ' + NULL = NULL

Ключевые выводы урока

  • NULL представляет отсутствующие, неизвестные или неприменимые данные.
  • Он отличается от нуля, пустых строк или пробелов.
  • Стандартные сравнения (= или <>) не работают с NULL.
  • Используйте IS NULL и IS NOT NULL для фильтрации отсутствующих данных.
  • Большинство математических операций с участием NULL приводят к результату NULL.