A pair becomes output only when the join keys are equal and not NULL.
key equality
Read matches
The compiler finds 3 matching pairs and produces 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.