För en MySQL-lösning kan du använda en UNION
för att ställa in namnen på alla kolumner i en nollradsfrågeterm och sedan fråga något mer komplext:
SELECT null AS a, null AS b, null AS c FROM dual WHERE false
UNION ALL
SELECT <expr>, <expr>, <expr>
FROM <realtable>...
Endast den första frågetermen i en UNION definierar kolumnnamnen för hela frågan. Kolumnnamn (eller brist på sådana) i efterföljande frågetermer påverkar inte de slutliga kolumnnamnen.
Du måste känna till numret kolumner, men det borde vara ganska enkelt att hålla de två frågetermen åtskilda. Så vitt jag vet fungerar det i både Oracle och MySQL (dock har jag bara testat det i MySQL, inte i Oracle).