No non-NULL argument means the result is NULL.

highlighted = computed this step

All NULL gives NULL

If every argument for a row is NULL, the COALESCE result is NULL.

all NULL stays NULL\text{all NULL stays NULL}

Read all-NULL rows

Without a literal default, 2 rows produce NULL.

all-NULL rows=2\text{all-NULL rows}=2

COALESCE examples are tiny finite row transforms with SQL-style NULL choice behavior; SQL dialect completeness, type coercion, optimizer behavior, indexing, and product claims are out of scope.

All NULL gives NULL: base rowsnameemailbackupnicknameAdaada@exampleada@backupNULLBeaNULLbea@backupBCalNULLNULLCalDeeNULLNULLNULL COALESCE argument choicesourcearg valueschosenIndexresultresultSource0[ada@example, ada@backup]0ada@exampleemail1[NULL, bea@backup]1bea@backupbackup2[NULL, NULL]noneNULLall NULL3[NULL, NULL]noneNULLall NULL COALESCE output rowsnameemailbackupnicknamecontactAdaada@exampleada@backupNULLada@exampleBeaNULLbea@backupBbea@backupCalNULLNULLCalNULLDeeNULLNULLNULLNULL COALESCE factsfactvalueinputRowCount4argCount2outputRowCount4firstArgRows1fallbackRows1literalDefaultRows0allNullRows2rowOrdersource_orderwhereContrastvalue_choice_not_truth_filter

No magic fallback

The compiler does not invent a value after the last argument.

no hidden fallback\text{no hidden fallback}

Summary

COALESCE returns NULL when no non-NULL argument exists.

no value found\text{no value found}