SQL - ไวยากรณ์นามแฝง
คุณสามารถเปลี่ยนชื่อตารางหรือคอลัมน์ชั่วคราวโดยตั้งชื่ออื่นที่เรียกว่า Alias. การใช้นามแฝงของตารางคือการเปลี่ยนชื่อตารางในคำสั่ง SQL เฉพาะ การเปลี่ยนชื่อเป็นการเปลี่ยนแปลงชั่วคราวและชื่อตารางจริงจะไม่เปลี่ยนแปลงในฐานข้อมูล นามแฝงของคอลัมน์ใช้เพื่อเปลี่ยนชื่อคอลัมน์ของตารางเพื่อวัตถุประสงค์ในการสืบค้น SQL โดยเฉพาะ
ไวยากรณ์
ไวยากรณ์พื้นฐานของ table นามแฝงมีดังนี้
SELECT column1, column2....
FROM table_name AS alias_name
WHERE [condition];
ไวยากรณ์พื้นฐานของ column นามแฝงมีดังนี้
SELECT column_name AS alias_name
FROM table_name
WHERE [condition];
ตัวอย่าง
พิจารณาสองตารางต่อไปนี้
Table 1 - ตารางลูกค้ามีดังนี้
+----+----------+-----+-----------+----------+
| ID | NAME | AGE | ADDRESS | SALARY |
+----+----------+-----+-----------+----------+
| 1 | Ramesh | 32 | Ahmedabad | 2000.00 |
| 2 | Khilan | 25 | Delhi | 1500.00 |
| 3 | kaushik | 23 | Kota | 2000.00 |
| 4 | Chaitali | 25 | Mumbai | 6500.00 |
| 5 | Hardik | 27 | Bhopal | 8500.00 |
| 6 | Komal | 22 | MP | 4500.00 |
| 7 | Muffy | 24 | Indore | 10000.00 |
+----+----------+-----+-----------+----------+
Table 2 - ตารางการสั่งซื้อมีดังนี้
+-----+---------------------+-------------+--------+
|OID | DATE | CUSTOMER_ID | AMOUNT |
+-----+---------------------+-------------+--------+
| 102 | 2009-10-08 00:00:00 | 3 | 3000 |
| 100 | 2009-10-08 00:00:00 | 3 | 1500 |
| 101 | 2009-11-20 00:00:00 | 2 | 1560 |
| 103 | 2008-05-20 00:00:00 | 4 | 2060 |
+-----+---------------------+-------------+--------+
ตอนนี้บล็อกรหัสต่อไปนี้แสดงการใช้ไฟล์ table alias.
SQL> SELECT C.ID, C.NAME, C.AGE, O.AMOUNT
FROM CUSTOMERS AS C, ORDERS AS O
WHERE C.ID = O.CUSTOMER_ID;
สิ่งนี้จะให้ผลลัพธ์ดังต่อไปนี้
+----+----------+-----+--------+
| ID | NAME | AGE | AMOUNT |
+----+----------+-----+--------+
| 3 | kaushik | 23 | 3000 |
| 3 | kaushik | 23 | 1500 |
| 2 | Khilan | 25 | 1560 |
| 4 | Chaitali | 25 | 2060 |
+----+----------+-----+--------+
ต่อไปนี้คือการใช้ไฟล์ column alias.
SQL> SELECT ID AS CUSTOMER_ID, NAME AS CUSTOMER_NAME
FROM CUSTOMERS
WHERE SALARY IS NOT NULL;
สิ่งนี้จะให้ผลลัพธ์ดังต่อไปนี้
+-------------+---------------+
| CUSTOMER_ID | CUSTOMER_NAME |
+-------------+---------------+
| 1 | Ramesh |
| 2 | Khilan |
| 3 | kaushik |
| 4 | Chaitali |
| 5 | Hardik |
| 6 | Komal |
| 7 | Muffy |
+-------------+---------------+