Een alias kan worden gebruikt in een selectielijst voor zoekopdrachten om een kolom een andere naam te geven. U kunt de alias in GROUP BY, ORDER BY of HAVING-clausules gebruiken om naar de kolom te verwijzen.
Standaard SQL verbiedt verwijzingen naar kolomaliassen in een WHERE-clausule. Deze beperking wordt opgelegd omdat wanneer de WHERE-clausule wordt geëvalueerd, de kolomwaarde mogelijk nog niet is bepaald.
De volgende zoekopdracht is dus illegaal:
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>
De kolomalias is toegestaan in:
- GROEPEREN OP
- BESTEL DOOR
- HEBBEN
U kunt in de volgende gevallen verwijzen naar de kolomalias in de WHERE-clausule:
- Subquery
- Common Table Expression (CTE)
Bijvoorbeeld,
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>