NULL означает «неизвестно». Сравнение неизвестного с чем угодно даёт UNKNOWN (тоже NULL). WHERE отбрасывает строки где условие не TRUE. Нужно использовать IS NULL и IS NOT NULL.
Возвращает первое НЕ-NULL значение из списка. COALESCE(a, b, c) = a если a не NULL, иначе b если b не NULL, иначе c. Идеально для замены пропусков на дефолт.
SUM, AVG, COUNT(column) — игнорируют NULL. COUNT(*) — считает все строки. AVG может дать неожиданный результат если много NULL.
COUNT(column) возвращает 0 если все значения NULL. COUNT(*) — общее число строк, NULL не влияет.
Агрегации · JOIN-запросы · Оконные функции · CTE (Common Table Expressions) · Подзапросы · Работа с датами · Строковые функции · Условная логика
Открыть весь SQL-тренажёр (521 задач) →