The different types of joins are: INNER JOIN, OUTER JOIN and CROSS JOIN. Inner joins return all rows from both tables i.e., resulting in a set of matching rows. Outer joins return all rows from one table and the matching rows of other table. If a row in one table has no match in the other table, then that row is not available to outer join. It may or may not return columns which don’t have matches or which have NULL values. For example, the left outer join returns all records from the left table, including any records which have no match in the right table. A cross join returns all possible combinations of rows from two tables. A cross join does not eliminate duplicate rows, so it’s rarely used.