SQL INNER JOIN vs LEFT JOIN vs RIGHT JOIN vs FULL OUTER JOIN: Differences With Examples (Tested in MySQL 8.4 and SQLite)
Joins are where a lot of SQL bugs hide. A report silently drops customers who never ordered, a WHERE clause quietly turns a LEFT JOIN back into an INNER JOIN, or MySQL happily runs a "FULL JOIN" that isn't one.