Det är inte bara Oracle SQL, jag tror faktiskt att det överensstämmer med ANSI SQL-standarden (även om jag inte har en referens för det). Anledningen är att SELECT-satsen logiskt bearbetas efter GROUP BY-satsen, så vid den tidpunkt då GROUP BY görs existerar inte aliasen ännu.
Kanske detta lite löjliga exempel hjälper till att klargöra frågan och den oklarhet som SQL undviker:
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