За MySQL решение можете да използвате UNION
за да зададете имената на всички колони в термин на заявка с нулев ред и след това да направите заявка за нещо по-сложно:
SELECT null AS a, null AS b, null AS c FROM dual WHERE false
UNION ALL
SELECT <expr>, <expr>, <expr>
FROM <realtable>...
Само първият термин на заявката на UNION дефинира имената на колоните на цялата заявка. Имената на колони (или липсата на такива) в следващите термини на заявка не засягат окончателните имена на колони.
Трябва да знаете номера от колони, но трябва да е доста лесно да запазите двата термина на заявката отделни. Доколкото знам, работи както в Oracle, така и в MySQL (все пак съм го тествал само в MySQL, не и в Oracle).