I've verified this query fails on Oracle, MySQL, PostgreSQL, and MSSQL. All of them require an alias on the FROM clause.
So SELECT ... FROM (1 UNION 2) AS TAB WHERE ...