A semi join keeps the left row when the exists flag is yes.
keep matching left rows
Read output
The output keeps 3 left rows and shows only 3 left columns.
kept rows=3
Semi-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.
No right columns
The right table is used for the existence check, not copied into the output.