AND keeps rows only when every child is TRUE.

highlighted = computed this step

AND combines truth values

AND keeps a row only when every child predicate is TRUE.

qty greater than zero AND status open\text{qty greater than zero AND status open}

Read AND output

The AND filter keeps 1 row and produces 1 UNKNOWN row.

AND kept=1\text{AND kept}=1

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

AND combines truth values: base rowsitemqtystatuspen3opennotebook0openmug2closedstickerNULLopen predicate evaluationsourcevaluestruthkept0[pen, 3, open]TRUEyes1[notebook, 0, open]FALSEno2[mug, 2, closed]FALSEno3[sticker, NULL, open]UNKNOWNno WHERE output rowsitemqtystatuspen3open WHERE factsfactvalueinputRowCount4trueRows1falseRows2unknownRows1keptRows1droppedRows3rowOrdersource_orderunknownKeptno

Both parts must pass

The mug has qty greater than zero but status is closed, so the AND result is FALSE.

both TRUE required\text{both TRUE required}

Summary

AND is a stricter filter than either child alone.

AND narrows\text{AND narrows}