EXISTS asks whether at least one inner row matches the current outer row.
at least one match
Evaluate EXISTS
The result keeps 2 customer rows.
kept rows=2
Subquery examples are tiny finite table evaluations; SQL dialects, optimizer rewrites, NULL truth tables beyond the explicit NOT IN caveat, performance, and product behavior are out of scope.
Read innerRows
The innerRows list is non-empty for kept rows.
nonempty innerRows
Summary
EXISTS cares about presence, not a copied inner value.