Um alias pode ser usado em uma lista de seleção de consulta para dar um nome diferente a uma coluna. Você pode usar o alias nas cláusulas GROUP BY, ORDER BY ou HAVING para se referir à coluna.
O SQL padrão não permite referências a aliases de coluna em uma cláusula WHERE. Essa restrição é imposta porque quando a cláusula WHERE é avaliada, o valor da coluna pode ainda não ter sido determinado.
Portanto, a seguinte consulta é ilegal:
SQL> SELECT empno AS employee, deptno AS department, sal AS salary
2 FROM emp
3 WHERE employee = 7369;
WHERE employee = 7369
*
ERROR at line 3:
ORA-00904: "EMPLOYEE": invalid identifier
SQL>
O alias da coluna é permitido em:
- GRUPO POR
- ORENDER POR
- TER
Você pode consultar o alias da coluna na cláusula WHERE nos seguintes casos:
- Subconsulta
- Expressão de tabela comum (CTE)
Por exemplo,
SQL> SELECT * FROM
2 (
3 SELECT empno AS employee, deptno AS department, sal AS salary
4 FROM emp
5 )
6 WHERE employee = 7369;
EMPLOYEE DEPARTMENT SALARY
---------- ---------- ----------
7369 20 800
SQL> WITH DATA AS(
2 SELECT empno AS employee, deptno AS department, sal AS salary
3 FROM emp
4 )
5 SELECT * FROM DATA
6 WHERE employee = 7369;
EMPLOYEE DEPARTMENT SALARY
---------- ---------- ----------
7369 20 800
SQL>