ล่าสุดการพัฒนาเว็บบทเรียน
 

SQLนามแฝง


นามแฝง SQL จะใช้ในการเปลี่ยนชื่อตารางหรือหัวคอลัมน์ชั่วคราว


นามแฝง SQL

นามแฝง SQL จะใช้เพื่อให้ตารางฐานข้อมูลหรือคอลัมน์ในตารางเป็นชื่อชั่วคราว

โดยทั่วไปนามแฝงที่ถูกสร้างขึ้นเพื่อให้ชื่อคอลัมน์อ่านได้มากขึ้น

SQL นามแฝงไวยากรณ์สำหรับคอลัมน์

SELECT column_name AS alias_name
FROM table_name;

SQL นามแฝงไวยากรณ์สำหรับตาราง

SELECT column_name(s)
FROM table_name AS alias_name;

ฐานข้อมูลการสาธิต

ในการกวดวิชานี้เราจะใช้ที่รู้จักกันดีฐานข้อมูลตัวอย่าง Northwind

ด้านล่างนี้คือการเลือกจาก "Customers" ตาราง:

CustomerID CustomerName ContactName Address City PostalCode Country
2 Ana Trujillo Emparedados y helados Ana Trujillo Avda. de la Constitucion 2222 Mexico D.F. 05021 Mexico
3 Antonio Moreno Taqueria Antonio Moreno Mataderos 2312 Mexico D.F. 05023 Mexico
4 Around the Horn Thomas Hardy 120 Hanover Sq. London WA1 1DP UK

และเลือกจาก "Orders" ตาราง:

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 ต่อไปนี้ระบุสองนามแฝงหนึ่งสำหรับคอลัมน์ CustomerName และหนึ่งสำหรับคอลัมน์ ContactName เคล็ดลับ: มันต้องมีเครื่องหมายอัญประกาศหรือวงเล็บถ้าชื่อคอลัมน์ประกอบด้วยช่องว่าง:

ตัวอย่าง

SELECT CustomerName AS Customer, ContactName AS [Contact Person]
FROM Customers;
ลองตัวเอง»

ในคำสั่ง SQL ต่อไปนี้เรารวมสี่เสา (Address, City, PostalCode และ Country ) และสร้างนามแฝงที่ชื่อว่า "Address" :

ตัวอย่าง

SELECT CustomerName, Address+', '+City+', '+PostalCode+', '+Country AS Address
FROM Customers;
ลองตัวเอง»

หมายเหตุ: เพื่อให้ได้คำสั่ง SQL ที่ดังกล่าวข้างต้นในการทำงานใน MySQL ใช้ต่อไปนี้:

SELECT CustomerName, CONCAT(Address,', ',City,', ',PostalCode,', ',Country) AS Address
FROM Customers;

ตัวอย่างนามแฝงสำหรับตาราง

คำสั่ง SQL ต่อไปนี้เลือกคำสั่งซื้อทั้งหมดจากลูกค้าที่มี CustomerID=4 (รอบ Horn ) เราใช้ "Customers" และ "Orders" ตารางและให้พวกเขามีชื่อแทนตารางของ "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;
ลองตัวเอง»

นามแฝงจะมีประโยชน์เมื่อ:

  • มีมากกว่าหนึ่งตารางที่เกี่ยวข้องในการสืบค้นจะ
  • ฟังก์ชั่นที่ใช้ในการค้นหา
  • ชื่อคอลัมน์ที่มีขนาดใหญ่หรือไม่สามารถอ่านได้มาก
  • สองคนหรือมากกว่าคอลัมน์รวมเข้าด้วยกัน