Un alias può essere utilizzato in un elenco di selezione di query per assegnare a una colonna un nome diverso. Puoi utilizzare l'alias nelle clausole GROUP BY, ORDER BY o HAVING per fare riferimento alla colonna.
L'SQL standard non consente i riferimenti agli alias di colonna in una clausola WHERE. Questa limitazione è imposta perché quando viene valutata la clausola WHERE, il valore della colonna potrebbe non essere stato ancora determinato.
Quindi, la seguente query è illegale:
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>
L'alias di colonna è consentito in:
- GRUPPO PER
- ORDINA PER
- AVERE
Puoi fare riferimento all'alias di colonna nella clausola WHERE nei seguenti casi:
- Sub-query
- Espressione di tabella comune (CTE)
Ad esempio,
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>