What varies between the four joins you may know by name is only this: what happens to a row that found no match. So that is what the argument is called.
unmatched =
Which unmatched rows survive
Called elsewhere
"this" (the default)
this table’s
left join
"none"
neither table’s
inner join
"both"
both tables’
full join
There is no "other", and that is not an omission. A right join is this join with the tables the other way round, so it adds no meaning and gets no word.
Error:
!
illegal: both tables have `revenue`, and a join would bring back two columns of that name. Rename one first, or drop it: `then pick all_but [revenue]`
|
2 | then join overlap by [product]
| ^^^^^^^^^^^^
overlap = pd.DataFrame({"product": ["Widget"], "revenue": [1]})try: collect(sales >> join(overlap, by = col.product))except GodError as refusal:print(refusal)
illegal: both tables have `revenue`, and a join would bring back two columns of that name. Rename one first, or drop it: `then pick all_but [revenue]`
|
2 | then join overlap by [product]
| ^^^^^^^^^^^^