A outer join B on
In the worktable, system generates at least one result row for each A row.
System takes the A row and evalutes the condition set. If 4 B rows match, then 4 result rows. If no B row matches, then still one result row with (A.*, null as B.col1 , null as B.col2..)
Note that conditions may be any predicate, not only A.id=B.id