NOT EXISTS keeps an outer row when no inner row matches it.
no match means keep
Evaluate NOT EXISTS
The result keeps 1 row.
kept rows=1
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 empty matches
The kept row has an empty innerRows list.
anti-match
Summary
This is the finite anti-match shape used by many practical queries.