Работа с NULL в SQL: IS NULL, COALESCE, NULLIF

0 задач Лёгкие, средние, сложные С эталонными решениями Решение в браузере
NULL — особый тип в SQL. = NULL не работает. SUM игнорирует NULL, COUNT(column) — тоже. На собесе обязательно спросят: «найди юзеров без заказов через LEFT JOIN + IS NULL», «COALESCE для замены пропусков». 18 задач со всеми подводными камнями NULL.
Начать решать задачи →

Все задачи на «null-handling» (0)

FAQ: частые вопросы про null-handling

Почему = NULL не работает?

NULL означает «неизвестно». Сравнение неизвестного с чем угодно даёт UNKNOWN (тоже NULL). WHERE отбрасывает строки где условие не TRUE. Нужно использовать IS NULL и IS NOT NULL.

Что делает COALESCE?

Возвращает первое НЕ-NULL значение из списка. COALESCE(a, b, c) = a если a не NULL, иначе b если b не NULL, иначе c. Идеально для замены пропусков на дефолт.

Как агрегатные функции работают с NULL?

SUM, AVG, COUNT(column) — игнорируют NULL. COUNT(*) — считает все строки. AVG может дать неожиданный результат если много NULL.

Что возвращает COUNT(NULL)?

COUNT(column) возвращает 0 если все значения NULL. COUNT(*) — общее число строк, NULL не влияет.

Связанные темы SQL

Агрегации · JOIN-запросы · Оконные функции · CTE (Common Table Expressions) · Подзапросы · Работа с датами · Строковые функции · Условная логика

Открыть весь SQL-тренажёр (521 задач) →