SQL joins relate information between tables by matching common columns. There are two main types of joins - equi joins which use equality comparisons and non-equi joins which use other comparisons like greater than. Equi joins include inner joins which only return rows matching the join condition and outer joins which return all rows including those with no matches. Non-equi joins use comparisons other than equality to join rows between tables. Self joins match a table to itself using a foreign key that references its own primary key.