The first link they quoted gives you:
INNER JOIN
: returns rows when there is a match in both tables.
LEFT JOIN / LEFT OUTER JOIN
: returns all rows from the left table, even if there are no matches in the right table.
RIGHT JOIN / RIGHT OUTER JOIN
: returns all rows from the right table, even if there are no matches in the left table.
FULL JOIN / FULL OUTER JOIN / OUTER JOIN
: returns rows when there is a match in one of the tables.
SELF JOIN
: is used to join a table to itself, as if the table were two tables, temporarily renaming at least one table in the SQL statement.
CARTESIAN JOIN
: returns the cartesian product of the sets of records from the two or more joined tables.
The self join
is actually not a special join
. It just reflects the fact that you can join a table with itself. Doing so you must alias it in order to address the fact that it appears more than once in the same statement.
The cartesian join
can be considered as an inner join
without a restricting condition. Or you may view an inner join
as a cartesian join
with an added restriction (the join condition).