IS NULL is FALSE for present values.

highlighted = computed this step

IS NULL FALSE

When the tested value is present, IS NULL is FALSE.

presentFALSE\text{present}\Rightarrow\text{FALSE}

Read FALSE rows

The city IS NULL test has 3 FALSE rows.

FALSE rows=3\text{FALSE rows}=3

NULL-test examples are tiny finite-table transforms for IS NULL and IS NOT NULL; SQL dialect completeness, optimizer behavior, indexing, and product claims are out of scope.

IS NULL false for present values: base rowsidnamecityscore1AnnAustin102BoNULL203CyBostonNULL4DiNULL305EliDenver40 NULL test result per rowsourcetestedValueisNulltruthoutputRole0AustinnoFALSEdropped1NULLyesTRUEkept2BostonnoFALSEdropped3NULLyesTRUEkept4DenvernoFALSEdropped WHERE-style TRUE-only output rowsidnamecityscore2BoNULL204DiNULL30 NULL-test factsfactvalueinputRowCount5nullCount2presentCount3trueCount2falseCount3unknownCount0outputRowCount2droppedRowCount3negatednowhereKeepsTRUE_only_source_order

Present rows drop

FALSE rows are visible in the test table and absent from the TRUE-only output.

FALSE drops\text{FALSE drops}

Summary

Present values do not match IS NULL.

present not missing\text{present not missing}