Alias lze použít v seznamu pro výběr dotazu a dát sloupci jiný název. K odkazování na sloupec můžete použít alias v klauzulích GROUP BY, ORDER BY nebo HAVING.
Standardní SQL nepovoluje odkazy na aliasy sloupců v klauzuli WHERE. Toto omezení je uplatněno, protože když je vyhodnocena klauzule WHERE, hodnota sloupce možná ještě nebyla určena.
Následující dotaz je tedy nezákonný:
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>
Alias sloupce je povolen v:
- GROUP BY
- OBJEDNAT PODLE
- MÍT
Na alias sloupce v klauzuli WHERE se můžete odkázat v následujících případech:
- Dílčí dotaz
- Common Table Expression (CTE)
Například,
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>