for now, focus on 1-to-1 mapping between tables.
- oracle takes 1st row from driving-table
- oracle looks for a matching row in 1st joined-to table
- oracle builds a combined row containing fields from both tables
- the combined row becomes input to the 3rd loop scanning the 3rd table
- a final combined row is returned