Explain the purpose and structural difference between a SQL self-join and a UNION operation. Use examples if needed.