COALESCE (объединять), как и NULLIF, является упрощенной формой специального выражения CASE. COALESCE работает со списками значений, которые могут быть как определенными, так и неопределенными. Если в списке только одно из значений не является NULL, то оно и становится значением выражения COALESCE. Если же в списке таких значений больше, чем одно, то значением выражения становится первое из них. Когда все значения списка — NULL, то значением выражения COALESCE также становится NULL.
Выражение CASE, выполняющее те же действия, имеет следующий вид:
CASE
WHEN значение 1 IS NOT NULL
THEN значение1
WHEN значение2 IS NOT NULL
THEN значение2
...
WHEN значение_n IS NOT NULL
THEN значение_n
ELSE NULL
END
А соответствующий упрощенный синтаксис COALESCE выглядит так: COALESCE(значение1, значение2, ..., значение_n)
Возможно, вам придется использовать выражение COALESCE после выполнения операции OUTER JOIN (о которой рассказывается в главе 10). Этот оператор позволяет сократить объем вводимого кода.