SQL Join

Syntax
SELECT columns FROM relation1 JOIN relation2 WHERE condition

Variations

 * INNER JOIN
 * OUTER [LEFT, RIGHT, FULL]

Inner Join
The inner join is the default join, and only returns tuples that match the join condition.

Natural Join
There is a special type of inner join called the natural join which is the equi-join for all pairs of attributes with the same name between the two relations being joined together

Outer Join
There is another type of join called the outer join. These joins do not restrict the tuples returned only to the ones that match the join condition.

Left
In the left outer join, all rows from the left relation are preserved and for the columns of the rows that don't match the join condition, we simply fill with null.

Right
Self explanatory. Same thing happens as in the left outer join except it's the right relation this time

Full
Also self explanatory. All relations are kept with the missing values being set to null