9.2 one-to-one
When you perform a join, the function and code do not change. The output of the join will be determined by whether or not you have duplicate values in your keys, and whether or not both tables you are joining have duplicate values in the keys.
In a one-to-one merge, there are no duplicate keys in both tables.
x %>%
inner_join(y, by = 'key')
## # A tibble: 2 x 3
## key val_x val_y
## <dbl> <chr> <chr>
## 1 1 x1 y1
## 2 2 x2 y2
x %>%
left_join(y, by = 'key')
## # A tibble: 3 x 3
## key val_x val_y
## <dbl> <chr> <chr>
## 1 1 x1 y1
## 2 2 x2 y2
## 3 3 x3 <NA>