MySQL นามแฝง
MySQL นามแฝง
นามแฝงใช้เพื่อกำหนดชื่อชั่วคราวให้กับตารางหรือคอลัมน์ในตาราง
นามแฝงมักใช้เพื่อทำให้ชื่อคอลัมน์อ่านง่ายขึ้น
นามแฝงมีอยู่ในช่วงเวลาของการสืบค้นนั้นเท่านั้น
นามแฝงถูกสร้างขึ้นด้วยAS
คีย์เวิร์ด
ไวยากรณ์คอลัมน์นามแฝง
SELECT column_name AS alias_name
FROM table_name;
ไวยากรณ์ตารางนามแฝง
SELECT column_name(s)
FROM table_name AS alias_name;
ฐานข้อมูลสาธิต
ในบทช่วยสอนนี้ เราจะใช้ฐานข้อมูลตัวอย่างที่รู้จักกันดีของ Northwind
ด้านล่างนี้คือการเลือกจากตาราง "ลูกค้า":
CustomerID | CustomerName | ContactName | Address | City | PostalCode | Country |
---|---|---|---|---|---|---|
2 | Ana Trujillo Emparedados y helados | Ana Trujillo | Avda. de la Constitución 2222 | México D.F. | 05021 | Mexico |
3 | Antonio Moreno Taquería | Antonio Moreno | Mataderos 2312 | México D.F. | 05023 | Mexico |
4 | Around the Horn | Thomas Hardy | 120 Hanover Sq. | London | WA1 1DP | UK |
และการเลือกจากตาราง "คำสั่งซื้อ":
OrderID | CustomerID | EmployeeID | OrderDate | ShipperID |
---|---|---|---|---|
10354 | 58 | 8 | 1996-11-14 | 3 |
10355 | 4 | 6 | 1996-11-15 | 1 |
10356 | 86 | 6 | 1996-11-18 | 2 |
นามแฝงสำหรับตัวอย่างคอลัมน์
คำสั่ง SQL ต่อไปนี้สร้างนามแฝงสองนาม หนึ่งสำหรับคอลัมน์ CustomerID และอีกหนึ่งสำหรับคอลัมน์ CustomerName:
ตัวอย่าง
SELECT CustomerID AS ID, CustomerName AS Customer
FROM Customers;
คำสั่ง SQL ต่อไปนี้จะสร้างนามแฝงสองนาม หนึ่งชื่อสำหรับคอลัมน์ชื่อลูกค้า และอีกชื่อหนึ่งสำหรับคอลัมน์ชื่อผู้ติดต่อ หมายเหตุ:ต้องใส่เครื่องหมายอัญประกาศเดี่ยวหรือคู่ถ้าชื่อนามแฝงมีช่องว่าง:
ตัวอย่าง
SELECT CustomerName AS Customer, ContactName AS "Contact Person"
FROM Customers;
คำสั่ง SQL ต่อไปนี้สร้างนามแฝงชื่อ "ที่อยู่" ที่รวมสี่คอลัมน์ (ที่อยู่, รหัสไปรษณีย์, เมืองและประเทศ):
ตัวอย่าง
SELECT CustomerName, CONCAT_WS(', ', Address, PostalCode, City, Country)
AS Address
FROM Customers;
ตัวอย่างนามแฝงสำหรับตาราง
คำสั่ง SQL ต่อไปนี้จะเลือกคำสั่งซื้อทั้งหมดจากลูกค้าที่มี CustomerID=4 (รอบ ๆ Horn) เราใช้ตาราง "ลูกค้า" และ "คำสั่งซื้อ" และให้ชื่อแทนตารางเป็น "c" และ "o" ตามลำดับ (ในที่นี้เราใช้นามแฝงเพื่อทำให้ SQL สั้นลง):
ตัวอย่าง
SELECT o.OrderID, o.OrderDate, c.CustomerName
FROM Customers AS c, Orders AS o
WHERE c.CustomerName='Around the Horn' AND c.CustomerID=o.CustomerID;
คำสั่ง SQL ต่อไปนี้เหมือนกับข้างบน แต่ไม่มีนามแฝง:
ตัวอย่าง
SELECT Orders.OrderID, Orders.OrderDate, Customers.CustomerName
FROM Customers, Orders
WHERE Customers.CustomerName='Around the Horn' AND Customers.CustomerID=Orders.CustomerID;
นามแฝงจะมีประโยชน์เมื่อ:
- มีตารางที่เกี่ยวข้องมากกว่าหนึ่งตารางในแบบสอบถาม
- ฟังก์ชันที่ใช้ในแบบสอบถาม
- ชื่อคอลัมน์ใหญ่หรืออ่านไม่ค่อยออก
- รวมกันตั้งแต่สองคอลัมน์ขึ้นไป