これはOracleSQLだけではありません。実際、ANSI SQL標準に準拠していると思います(そのためのリファレンスはありませんが)。その理由は、SELECT句が後に論理的に処理されるためです。 GROUP BY句であるため、GROUP BYが実行された時点では、エイリアスはまだ存在していません。
おそらく、このややばかげた例は、SQLが回避している問題とあいまいさを明確にするのに役立ちます。
SQL> select job as sal, sum(sal) as job
2 from scott.emp
3 group by job;
SAL JOB
--------- ----------
ANALYST 6000
CLERK 4150
MANAGER 8275
PRESIDENT 5000
SALESMAN 5600