SQLite - ไวยากรณ์ ALIAS
คุณสามารถเปลี่ยนชื่อตารางหรือคอลัมน์ชั่วคราวได้โดยตั้งชื่ออื่นซึ่งเรียกว่า ALIAS. การใช้นามแฝงของตารางหมายถึงการเปลี่ยนชื่อตารางในคำสั่ง SQLite เฉพาะ การเปลี่ยนชื่อเป็นการเปลี่ยนแปลงชั่วคราวและชื่อตารางจริงจะไม่เปลี่ยนแปลงในฐานข้อมูล
นามแฝงของคอลัมน์ใช้เพื่อเปลี่ยนชื่อคอลัมน์ของตารางเพื่อวัตถุประสงค์ในการสืบค้น SQLite โดยเฉพาะ
ไวยากรณ์
ต่อไปนี้เป็นไวยากรณ์พื้นฐานของ 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มีดังนี้ -
sqlite> select * from COMPANY;
ID NAME AGE ADDRESS SALARY
---------- -------------------- ---------- ---------- ----------
1 Paul 32 California 20000.0
2 Allen 25 Texas 15000.0
3 Teddy 23 Norway 20000.0
4 Mark 25 Rich-Mond 65000.0
5 David 27 Texas 85000.0
6 Kim 22 South-Hall 45000.0
7 James 24 Houston 10000.0
(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
ต่อไปนี้คือการใช้งาน TABLE ALIAS โดยที่เราใช้ C และ D เป็นนามแฝงสำหรับตาราง COMPANY และ DEPARTMENT ตามลำดับ -
sqlite> SELECT C.ID, C.NAME, C.AGE, D.DEPT
FROM COMPANY AS C, DEPARTMENT AS D
WHERE C.ID = D.EMP_ID;
คำสั่ง SQLite ข้างต้นจะให้ผลลัพธ์ดังต่อไปนี้ -
ID NAME AGE DEPT
---------- ---------- ---------- ----------
1 Paul 32 IT Billing
2 Allen 25 Engineering
3 Teddy 23 Engineering
4 Mark 25 Finance
5 David 27 Engineering
6 Kim 22 Finance
7 James 24 Finance
พิจารณาตัวอย่างสำหรับการใช้งาน COLUMN ALIAS โดย COMPANY_ID เป็นชื่อแทนของคอลัมน์ ID และ COMPANY_NAME เป็นชื่อแทนของคอลัมน์
sqlite> 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;
คำสั่ง SQLite ข้างต้นจะให้ผลลัพธ์ดังต่อไปนี้ -
COMPANY_ID COMPANY_NAME AGE DEPT
---------- ------------ ---------- ----------
1 Paul 32 IT Billing
2 Allen 25 Engineering
3 Teddy 23 Engineering
4 Mark 25 Finance
5 David 27 Engineering
6 Kim 22 Finance
7 James 24 Finance