Ваши заявления должны работать нормально.Вот тест от моего IBM i на v7.2, но он должен работать так же на v7.1 или, по крайней мере, полностью до v5r3, основываясь на документации, которую я могу найти.
create table tablea
(field1 Char(10),
field2 Char(10));
create table tableb
(field1 Char(10),
field2 Char(10));
insert into tablea
values ('row1', 'mama'),
('row2', 'papa');
insert into tableb
values ('rowa', 'timmy'),
('rowb', 'sissy');
тогда
select * from tablea
union
select * from tableb;
дает:
FIELD1 FIELD2
------------------------
row1 mama
rowb sissy
row2 papa
rowa timmy
и
with cte as (
select * from tablea
union
select * from tableb)
select * from cte;
дает
FIELD1 FIELD2
------------------------
rowb sissy
row1 mama
row2 papa
rowa timmy
и
select *
from (
select * from tablea
union
select * from tableb) a
т
FIELD1 FIELD2
------------------------
rowb sissy
row1 mama
row2 papa
rowa timmy