Как работать с NULL в SQL?
Answer from AI
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 на дефолтный адрес и выбираем только пользователей с известной датой последнего входа.