A WHERE filter reads the joined rows after matching and padding are finished.
WHERE after join
Compare before and after
The LEFT JOIN has 6 rows before WHERE and 3 rows after the right-side present filter.
rows after WHERE=3
Outer-join examples are tiny finite-table transforms; SQL dialect completeness, type coercion, optimizer behavior, execution cost, indexing, and database-product claims are out of scope.
Read kept flags
The post-join filter table marks each joined row kept or dropped.
kept after join
Summary
The filter is not changing the match table; it is filtering joined rows.