I am wondering how to differentiate all these different joins ...
Inner join: Only show rows, when has it data from both of the tables.
Outer join: (left/right): Show the all result from the left / right table with the paired row(s), if it exists or not.