the verbosity of "(SELECT * FROM A)"?
If you want shorter syntax in SQL, there is the TABLE name syntax that you can use - where name is a table name (base table or view or cte):

SELECT * FROM ((TABLE A) UNION (TABLE B)) t ;


The parentheses are not needed:

SELECT * FROM (TABLE A UNION TABLE B) t ;


and you could even write:

TABLE A UNION TABLE B ;




Regarding whether the syntax is ISO/ANSI SQL, I found this in a (copy of a) draft of SQL 2011:

6.41 &lt;multiset value constructor&gt; 

Function

Specify construction of a multiset.  

Format

&lt;multiset value constructor&gt; ::=
    &lt;multiset value constructor by enumeration&gt;
    | &lt;multiset value constructor by query&gt;
    | &lt;table value constructor by query&gt;

&lt;multiset value constructor by enumeration&gt; ::=
    MULTISET &lt;left bracket or trigraph&gt; &lt;multiset element list&gt; &lt;right bracket or trigraph&gt;

&lt;multiset element list&gt; ::=
    &lt;multiset element&gt; [ { &lt;comma&gt; &lt;multiset element&gt; }... ]

&lt;multiset element&gt; ::=
    &lt;value expression&gt;

&lt;multiset value constructor by query&gt; ::=
    MULTISET &lt;table subquery&gt;

&lt;table value constructor by query&gt; ::=
    TABLE &lt;table subquery&gt;