Na liście wyboru zapytania można użyć aliasu, aby nadać kolumnie inną nazwę. Możesz użyć aliasu w klauzulach GROUP BY, ORDER BY lub HAVING, aby odwoływać się do kolumny.
Standardowy kod SQL nie zezwala na odwołania do aliasów kolumn w klauzuli WHERE. To ograniczenie jest nakładane, ponieważ podczas oceny klauzuli WHERE wartość kolumny mogła nie zostać jeszcze określona.
Dlatego następujące zapytanie jest niedozwolone:
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 kolumny jest dozwolony w:
- GRUPAJ WG
- ZAMÓW PRZEZ
- POSIADAJĄC
Możesz odwołać się do aliasu kolumny w klauzuli WHERE w następujących przypadkach:
- Podzapytanie
- Wspólne wyrażenie tabeli (CTE)
Na przykład
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>