SQLLab
Глоссарий/COALESCE / NULLIF
ОсновыНачальный

COALESCE / NULLIF

COALESCE возвращает первый не-NULL аргумент. NULLIF возвращает NULL если два аргумента равны.

Синтаксис
COALESCE(value, default)
NULLIF(value, unwanted_value)

Объяснение

COALESCE(a, b, c) — вернёт первое не-NULL значение. Удобно для подстановки значений по умолчанию. NULLIF(a, b) — вернёт NULL если a=b, иначе a. Классический трюк: NULLIF(count, 0) для избежания деления на ноль: value / NULLIF(count, 0).

Пример

-- Подстановка значений по умолчанию
SELECT
  COALESCE(nickname, first_name, 'Аноним') AS display_name,
  COALESCE(phone, email) AS contact
FROM users;

-- Избежать деления на ноль
SELECT total / NULLIF(count, 0) AS avg_per_item
FROM stats;