PostgreSQL - ไวยากรณ์ของ ALIAS
คุณสามารถเปลี่ยนชื่อตารางหรือคอลัมน์ชั่วคราวโดยตั้งชื่ออื่นซึ่งเรียกว่า ALIAS. การใช้นามแฝงของตารางหมายถึงการเปลี่ยนชื่อตารางในคำสั่ง PostgreSQL เฉพาะ การเปลี่ยนชื่อเป็นการเปลี่ยนแปลงชั่วคราวและชื่อตารางจริงจะไม่เปลี่ยนแปลงในฐานข้อมูล
นามแฝงของคอลัมน์ใช้เพื่อเปลี่ยนชื่อคอลัมน์ของตารางเพื่อวัตถุประสงค์ในการสืบค้น PostgreSQL โดยเฉพาะ
ไวยากรณ์
ไวยากรณ์พื้นฐานของ table นามแฝงมีดังนี้ -
SELECT column1, column2....
FROM table_name AS alias_name
WHERE [condition];
ไวยากรณ์พื้นฐานของ column นามแฝงมีดังนี้ -
SELECT column_name AS alias_name
FROM table_name
WHERE [condition];
ตัวอย่าง
พิจารณาสองตารางต่อไปนี้ (a) ตารางCOMPANYมีดังนี้ -
testdb=# select * from COMPANY;
id | name | age | address | salary
----+-------+-----+-----------+--------
1 | Paul | 32 | California| 20000
2 | Allen | 25 | Texas | 15000
3 | Teddy | 23 | Norway | 20000
4 | Mark | 25 | Rich-Mond | 65000
5 | David | 27 | Texas | 85000
6 | Kim | 22 | South-Hall| 45000
7 | James | 24 | Houston | 10000
(7 rows)
(b) ตารางอื่นคือDEPARTMENTดังต่อไปนี้ -
id | dept | emp_id
----+--------------+--------
1 | IT Billing | 1
2 | Engineering | 2
3 | Finance | 7
4 | Engineering | 3
5 | Finance | 4
6 | Engineering | 5
7 | Finance | 6
(7 rows)
ต่อไปนี้คือการใช้งาน TABLE ALIAS โดยที่เราใช้ C และ D เป็นนามแฝงสำหรับตาราง COMPANY และ DEPARTMENT ตามลำดับ -
testdb=# SELECT C.ID, C.NAME, C.AGE, D.DEPT
FROM COMPANY AS C, DEPARTMENT AS D
WHERE C.ID = D.EMP_ID;
คำสั่ง PostgreSQL ข้างต้นจะให้ผลลัพธ์ดังต่อไปนี้ -
id | name | age | dept
----+-------+-----+------------
1 | Paul | 32 | IT Billing
2 | Allen | 25 | Engineering
7 | James | 24 | Finance
3 | Teddy | 23 | Engineering
4 | Mark | 25 | Finance
5 | David | 27 | Engineering
6 | Kim | 22 | Finance
(7 rows)
ให้เราดูตัวอย่างสำหรับการใช้งาน COLUMN ALIAS โดย COMPANY_ID เป็นนามแฝงของคอลัมน์ ID และ COMPANY_NAME เป็นชื่อแทนของคอลัมน์ -
testdb=# SELECT C.ID AS COMPANY_ID, C.NAME AS COMPANY_NAME, C.AGE, D.DEPT
FROM COMPANY AS C, DEPARTMENT AS D
WHERE C.ID = D.EMP_ID;
คำสั่ง PostgreSQL ข้างต้นจะให้ผลลัพธ์ดังต่อไปนี้ -
company_id | company_name | age | dept
------------+--------------+-----+------------
1 | Paul | 32 | IT Billing
2 | Allen | 25 | Engineering
7 | James | 24 | Finance
3 | Teddy | 23 | Engineering
4 | Mark | 25 | Finance
5 | David | 27 | Engineering
6 | Kim | 22 | Finance
(7 rows)