IS NOT NULL selects present values.

highlighted = computed this step

Rows with present values

IS NOT NULL keeps rows where the tested value is present.

present values\text{present values}

Read present rows

The TRUE-only output keeps 3 present-city rows in source order.

present rows=3\text{present 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.

Select rows with present values: base rowsidnamecityscore1AnnAustin102BoNULL203CyBostonNULL4DiNULL305EliDenver40 NULL test result per rowsourcetestedValueisNulltruthoutputRole0AustinnoTRUEkept1NULLyesFALSEdropped2BostonnoTRUEkept3NULLyesFALSEdropped4DenvernoTRUEkept WHERE-style TRUE-only output rowsidnamecityscore1AnnAustin103CyBostonNULL5EliDenver40 NULL-test factsfactvalueinputRowCount5nullCount2presentCount3trueCount3falseCount2unknownCount0outputRowCount3droppedRowCount2negatedyeswhereKeepsTRUE_only_source_order

Source order remains

The model keeps matching rows in their original row order.

source order\text{source order}

Summary

WHERE-style filtering still means TRUE rows only.

TRUE only\text{TRUE only}