A candidate pair becomes output only when both keys are equal and not NULL.
equal non-NULL keys
Read matched pairs
The join has 3 matching pairs and therefore 3 output rows.
matches=3
Inner-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.
Matched flag
The candidate table marks each pair yes or no before rows are emitted.