Alias dapat digunakan dalam daftar pemilihan kueri untuk memberi nama yang berbeda pada kolom. Anda dapat menggunakan alias dalam klausa GROUP BY, ORDER BY, atau HAVING untuk merujuk ke kolom.
SQL Standar tidak mengizinkan referensi ke alias kolom dalam klausa WHERE. Pembatasan ini diberlakukan karena ketika klausa WHERE dievaluasi, nilai kolom mungkin belum ditentukan.
Jadi, kueri berikut ini 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>
Alias kolom diperbolehkan di:
- GROUP BY
- PESAN OLEH
- PUNYA
Anda dapat merujuk ke alias kolom dalam klausa WHERE dalam kasus berikut:
- Sub-kueri
- Ekspresi Tabel Umum(CTE)
Misalnya,
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>