Du kan fake
de saknade kolumnerna med ett alias - t.ex.
SELECT username, email, '' as name FROM `table1`
UNION
SELECT username, email, name FROM `table2`
WHERE username = 'user1';
där namn finns i tabell2, men inte i tabell1
Såvida du inte blandar ihop UNIONS med JOINS:
SELECT table1.*, table2.* FROM
table1 INNER JOIN table2
ON table1.username = table2.username
detta skulle slå samman båda tabellerna, så att du får alla kolumner på samma rad.