JOINS are used to combine data across tables by matching rows. There are 5 types of joins: equi, non-equi, outer, self, and inner. Outer joins return all rows from the first table and matched rows from the second table, returning null values for non-matches. The 3 types of outer joins are left (returns all rows from left table), right (returns all rows from right table), and full (returns all rows from both tables).