I am wondering how to differentiate all these different joins ...
SQL JOINS difference:
Very simple to remember :
INNER JOIN only show records common to both tables.
OUTER JOIN all the content of the both tables are merged together either they are matched or not.
LEFT JOIN is same as LEFT OUTER JOIN - (Select records from the first (left-most) table with matching right table records.)
RIGHT JOIN is same as RIGHT OUTER JOIN - (Select records from the second (right-most) table with matching left table records.)