Обратите внимание, что
select a, b, c from x
union
select d, e, '' as f from y;
и
select d, e, '' as f from y
union
select a, b, c from x;
будут давать разные результаты, т.е. будут использоваться имена атрибутов из первой появившейся таблицы.
Возможно, лучше быть недвусмысленным, явно переименовав столбцы во второй таблице, например
select a, b, c from x
union
select d AS a, e AS b, '' as c from y;