UNKNOWN branches are not TRUE branches.

highlighted = computed this step

UNKNOWN from NULL does not match

A NULL comparison gives UNKNOWN, and UNKNOWN is not a TRUE branch.

UNKNOWN skipped\text{UNKNOWN skipped}

Read UNKNOWN skips

The compiler records 2 UNKNOWN branch checks.

UNKNOWN checks=2\text{UNKNOWN checks}=2

CASE-expression examples are tiny finite row transforms with SQL-style TRUE/FALSE/UNKNOWN logic; SQL dialect completeness, type coercion, optimizer behavior, indexing, and product claims are out of scope.

UNKNOWN from NULL does not match: base rowsnamescorestatusAda90activeBea40activeCalNULLactiveDee70paused CASE branch evaluationsourcevaluesevaluationsresultresultSource0[Ada, 90, active][{branch:0, truth:TRUE, chosen:yes}, {branch:1, truth:TRUE, chosen:no}]highbranch 01[Bea, 40, active][{branch:0, truth:FALSE, chosen:no}, {branch:1, truth:FALSE, chosen:no}]lowELSE2[Cal, NULL, active][{branch:0, truth:UNKNOWN, chosen:no}, {branch:1, truth:UNKNOWN, chosen:no}]lowELSE3[Dee, 70, paused][{branch:0, truth:FALSE, chosen:no}, {branch:1, truth:TRUE, chosen:yes}]midbranch 1 CASE output rowsnamescorestatusbucketAda90activehighBea40activelowCalNULLactivelowDee70pausedmid CASE factsfactvalueinputRowCount4branchCount2outputRowCount4firstTrueRows2elseRows2nullElseRows0unknownSkipped2rowOrdersource_order

Cal falls through

The NULL score row does not match either score comparison, so ELSE supplies the result.

NULL comparison falls through\text{NULL comparison falls through}

Summary

UNKNOWN is skipped the same way FALSE is skipped for branch choice.

not TRUE\text{not TRUE}