MySQL JOINs Explained: INNER, LEFT, RIGHT, CROSS and the Missing FULL OUTER
Every MySQL join type with worked examples, plus how to emulate FULL OUTER JOIN, which MySQL does not support, the WHERE clause that silently turns a LEFT JOIN into an INNER JOIN, and anti-joins for finding unmatched rows.
