Sie können fake
die fehlenden Spalten mit einem Alias - z.B.
SELECT username, email, '' as name FROM `table1`
UNION
SELECT username, email, name FROM `table2`
WHERE username = 'user1';
wo Name in Tabelle2 steht, aber nicht in Tabelle1
Es sei denn, Sie verwechseln UNIONS mit JOINS:
SELECT table1.*, table2.* FROM
table1 INNER JOIN table2
ON table1.username = table2.username
dies würde beide Tabellen zusammenführen, sodass Sie alle Spalten in derselben Zeile erhalten.