No es solo Oracle SQL, de hecho, creo que cumple con el estándar ANSI SQL (aunque no tengo una referencia para eso). El motivo es que la cláusula SELECT se procesa lógicamente después la cláusula GROUP BY, por lo que en el momento en que se realiza GROUP BY, los alias aún no existen.
Quizás este ejemplo un tanto ridículo ayude a aclarar el problema y la ambigüedad que evita 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