SQL Aliases


 SQL aliases  ใช้เพื่อตั้งชื่อตารางหรือคอลัมน์ในตารางเป็นชื่อชั่วคราว มักใช้เพื่อทำให้ชื่อคอลัมน์อ่านง่ายขึ้น alias จะมีอยู่ในช่วงเวลาของ query เท่านั้นและถูกสร้างขึ้นด้วย AS keyword

ตัวอย่าง

SELECT CustomerID AS ID
FROM Customers;


AS เป็นทางเลือก

จริงๆ แล้ว ในภาษาฐานข้อมูลส่วนใหญ่ คุณสามารถข้ามคีย์เวิร์ด AS และรับผลลัพธ์เดียวกันได้:

ตัวอย่าง

SELECT CustomerID ID
FROM Customers;


Syntax

เมื่อ alias ถูกใช้บนคอลัมน์

SELECT column_name AS alias_name
FROM table_name;

เมื่อ alias ถูกใช้บนตาราง

SELECT column_name(s)
FROM table_name AS alias_name;


Demo Database

ด้านล่างนี้คือการเลือกจากตาราง Customers และ Orders ที่ใช้ในตัวอย่าง:

Customers

CustomerIDCustomerNameContactNameAddressCityPostalCodeCountry
1
Alfreds FutterkisteMaria AndersObere Str. 57Berlin12209Germany
2Ana Trujillo Emparedados y heladosAna TrujilloAvda. de la Constitución 2222México D.F.05021Mexico
3Antonio Moreno TaqueríaAntonio MorenoMataderos 2312México D.F.05023Mexico

Orders

OrderIDCustomerIDEmployeeIDOrderDateShipperID
102489057/4/19963
102498167/5/19961
102503447/8/19962


Alias สำหรับคอลัมน์

คำสั่ง SQL ต่อไปนี้จะสร้างนามแฝงสองรายการ หนึ่งรายการสำหรับคอลัมน์ CustomerID และอีกรายการหนึ่งสำหรับคอลัมน์ CustomerName:

ตัวอย่าง

SELECT CustomerID AS ID, CustomerName AS Customer
FROM Customers;


การใช้ Aliases กับการเว้นวรรคอักขระ

หากคุณต้องการให้ alias ของคุณมีการเว้นวรรคตั้งแต่หนึ่งช่องขึ้นไป เช่น “ My Great Products” ให้ล้อม alias ของคุณด้วยวงเล็บเหลี่ยมหรือเครื่องหมายคำพูดคู่

ตัวอย่าง

ใช้ [ วงเล็บหลี่ยม ] สำหรับการใช้ Aliases กับอักขระเว้นวรรค :

SELECT ProductName AS [My Great Products]
FROM Products;

ตัวอย่าง

ใช้ “เครื่องหมายคำพูดคู่” สำหรับการใช้ Aliases กับอักขระเว้นวรรค :

SELECT ProductName AS "My Great Products"
FROM Products;

หมายเหตุ: ระบบ database บางระบบอนุญาตทั้ง [] และ “” และบางระบบอนุญาตแค่เพียงเครื่องหมายเดียว


การเชื่อมต่อคอลัมน์

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

ตัวอย่าง

SELECT CustomerName, Address + ', ' + PostalCode + ' ' + City + ', ' + Country AS Address
FROM Customers;

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

ตัวอย่าง MySQL

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

หมายเหตุ: หากต้องการให้คำสั่ง SQL ด้านบนทำงานใน Oracle ให้ใช้สิ่งต่อไปนี้:

ตัวอย่าง Oracle

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


Alias สำหรับตาราง

ใช้กฎเดียวกันนี้เมื่อคุณต้องการใช้นามแฝงสำหรับตาราง

ตัวอย่าง

อ้างถึงตารางลูกค้าเป็นบุคคลแทน:

SELECT * FROM Customers AS Persons;

การใช้ aliases บนตารางอาจดูไร้ประโยชน์ แต่ถ้าใช้มากกว่า 1 ตารางในคิวรี่ มันสามารถทำให้คำสั่ง SQL สั้นลงได้

คำสั่ง SQL ต่อไปนี้เลือกคำสั่งซื้อจากออเดอร์ลูกค้าทั้งหมดที่ CustomerID=4 (รอบฮอร์น) เราใช้ตาราง “Customers” และ “Orders”

และตั้งชื่อแทนตารางเป็น “c” และ “o” ตามลำดับ (ในที่นี้เราใช้aliasesเพื่อทำให้ 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 ต่อไปนี้เหมือนกับข้างบน แต่ไม่มี aliases:

ตัวอย่าง

SELECT Orders.OrderID, Orders.OrderDate, Customers.CustomerName
FROM Customers, Orders
WHERE Customers.CustomerName='Around the Horn' AND Customers.CustomerID=Orders.CustomerID;

Aliases จะมีประโยชน์เมื่อ:

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