Explain the difference between an INNER JOIN, LEFT JOIN, and RIGHT JOIN with practical testing examples.