ใช้ AS alias_name (หรือเว้น AS ก็ได้) เพื่อตั้งชื่อคอลัมน์ผลลัพธ์ (Column Alias) ให้อ่านง่ายและอ้างอิงได้ใน Application
ตัวอย่างการใช้งาน
1. สร้างตาราง
mysql> CREATE TABLE DemoTable1800 (
Salary INT
);
Query OK, 0 rows affected (0.00 sec)
2. เพิ่มข้อมูล
mysql> INSERT INTO DemoTable1800 VALUES(18000); mysql> INSERT INTO DemoTable1800 VALUES(32000); mysql> INSERT INTO DemoTable1800 VALUES(50000);
3. แสดงข้อมูล
mysql> SELECT * FROM DemoTable1800; +--------+ | Salary | +--------+ | 18000 | | 32000 | | 50000 | +--------+
4. Query: SUM พร้อม Alias
mysql> SELECT SUM(Salary) AS Total FROM DemoTable1800;
5. ผลลัพธ์ (ชื่อคอลัมน์คือ Total)
+--------+ | Total | +--------+ | 100000 | +--------+
รูปแบบ Alias
| รูปแบบ | ตัวอย่าง | หมายเหตุ |
|---|---|---|
AS alias | SUM(Salary) AS Total | ชัดเจนที่สุด แนะนำใช้ |
alias | SUM(Salary) Total | MySQL อนุญาต (Optional AS) |
'alias' | SUM(Salary) 'Total' | String Literal (ไม่แนะนำ) |
การใช้ Alias ใน Query อื่น
- ORDER BY:
SELECT SUM(Salary) AS Total FROM t ORDER BY Total DESC;✅ ใช้ได้ - GROUP BY:
SELECT dept, SUM(Salary) AS Total FROM t GROUP BY dept ORDER BY Total;✅ ใช้ได้ - WHERE / HAVING:
SELECT SUM(Salary) AS Total FROM t HAVING Total > 50000;✅ ใช้ได้ (HAVING) / ❌ WHERE (ยังไม่มี Alias) - Subquery / CTE: ใช้ Alias อ้างอิงใน Outer Query ได้
Best Practice
- ใช้
ASเสมอ เพื่อความชัดเจน - ตั้งชื่อ Aliase เป็น Snake_case หรือ CamelCase สอดคล้องกับ Codebase (
total_salary,totalSalary) - หลีกเลี่ยงชื่อที่เป็น Reserved Keyword (
order,group,select) หรือ Escape ด้วย Backticks
สรุป
SELECT SUM(Salary) AS Total FROM table ตั้งชื่อคอลัมน์ผลลัพธ์ว่า Total ใช้ AS เพื่อความชัดเจน Alias ใช้ได้ใน ORDER BY, GROUP BY, HAVING, Subquery ช่วยให้โค้ดอ่านง่ายและ Maintain ได้