Вы хотите заменить NULL в referrer на 'direct'. Что проще и эквивалентно по смыслу?

ACASE WHEN referrer IS NULL THEN 'direct' ELSE referrer END и COALESCE(referrer, 'direct')
BCASE WHEN referrer = NULL THEN 'direct' ELSE referrer END и COALESCE(referrer, 'direct')
CCASE WHEN referrer IS NULL THEN 'direct' ELSE referrer END и COALESCE('direct', referrer)
DCASE WHEN referrer IS NOT NULL THEN 'direct' ELSE referrer END и COALESCE(referrer, 'direct')
Правильный ответ. COALESCE(referrer, 'direct') — короткая форма «если NULL, то значение по умолчанию».

Разбор

Логика «подставь значение по умолчанию при NULL» может быть записана через CASE, но COALESCE обычно короче и читабельнее: COALESCE(referrer, 'direct'). Важно: referrer = NULL — некорректная проверка (даёт UNKNOWN). Также порядок аргументов в COALESCE важен: он возвращает первый не-NULL слева направо.

Проверь себя · 1/3разбор после ответа
Что вернёт выражение COALESCE(NULL, NULL, 'web', 'app')?
Тренировать SQL в Telegram

Ещё вопросы по теме «Выражения и NULL»