Sobes.tech
Middle
41

Как работать с NULL в SQL?

Компании, где спрашивали
ИннотехИннотех
СамокатСамокат

Ответ от нейросети

sobes.tech AI

В SQL NULL означает отсутствие значения, и с ним нужно работать особым образом:

  • Сравнения с NULL: Операторы =, <> не работают с NULL как с обычным значением. Например, column = NULL всегда возвращает FALSE.

  • Проверка на NULL: Используйте IS NULL или IS NOT NULL для проверки наличия или отсутствия значения.

  • Обработка в агрегатах: Функции вроде COUNT(column) не учитывают NULL, а COUNT(*) считает все строки.

  • Функции для замены NULL: COALESCE(column, default_value) возвращает первое не-NULL значение из списка.

  • Объединение таблиц: При JOIN строки с NULL в ключевых полях могут не совпадать, что влияет на результат. Например, INNER JOIN исключит такие строки, а LEFT JOIN сохранит их с NULL в полях присоединённой таблицы.

Пример:

SELECT
  user_id,
  COALESCE(email, 'no-email@example.com') AS email_address
FROM users
WHERE last_login IS NOT NULL;

Здесь мы заменяем NULL в поле email на дефолтный адрес и выбираем только пользователей с известной датой последнего входа.