Tin tức

Kiến thức SQL: Tên bí danh (SQL Aliases)

04/07/2013

SQL bí danh được sử dụng để cung cấp cho một bảng cơ sở dữ liệu, hoặc một cột trong một bảng, một tên tạm thời. Về cơ bản bí danh được tạo ra để làm cho tên cột dễ đọc hơn.

Cú pháp gán bí danh cho cột

SELECT column_name AS alias_name
FROM table_name;

Gán bí danh cho bảng

SELECT column_name(s)
FROM table_name AS alias_name;

Lấy ví dụ ta có bảng “Customers” trong CSDL Northwind sau:

CustomerID

CustomerName

ContactName

Address

City

PostalCode

Country

1

Alfreds Futterkiste

Maria Anders

Obere Str. 57

Berlin

12209

Germany

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

 

Và dữ liệu được lấy từ bảng “Orders”:

OrderID

CustomerID

EmployeeID

OrderDate

ShipperID

10643

1

6

1997-08-25

1

10644

88

3

1997-08-25

2

10645

34

4

1997-08-26

1

 

Ví dụ về bí danh cho các cột:

Các câu lệnh SQL dưới đây chỉ rõ hai bí danh, một cho cột CustomerName và một cho các cột ContactName. Mẹo: đòi hỏi dấu ngoặc kép hoặc dấu ngoặc vuông nếu các tên cột chứa khoảng trắng:

SELECT CustomerName AS Customer, ContactName AS [Contact Person]
FROM Customers;

Trong câu lệnh SQL sau chúng tôi kết hợp bốn cột (Address, City, PostalCode

, Country) và tạo ra một bí danh có tên là "Address":

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

Ví dụ cho bảng:

Các câu lệnh SQL sau đây chọn tất cả các đơn đặt hàng từ khách hàng "Alfreds Futterkiste". Chúng tôi sử dụng bảng "Customers" "Orders", cung cấp cho nó các bí danh bảng của "c" và "o" tương ứng (Ở đây chúng ta đã sử dụng bí danh để làm cho ngắn hơn SQL):     

SELECT o.OrderID, o.OrderDate, c.CustomerName
FROM Customers AS c, Orders AS o
WHERE c.CustomerName='Alfreds Futterkiste';

Nếu không dùng bí danh:

SELECT Orders.OrderID, Orders.OrderDate, Customers.CustomerName
FROM Customers, Orders
WHERE Customers.CustomerName='Alfreds Futterkiste';

Bí danh có thể có ích khi:

  •  Có nhiều hơn một bảng tham gia vào một truy vấn
  •  Các hàm được sử dụng trong truy vấn
  •  Tên cột dài hoặc khó có thể đọc được
  • Hai hoặc nhiều cột được kết hợp với nhau
Để tham dự các khóa hc SQL Server của ESVN theo giáo trình chuẩn của Microsoft mời bạn click vào đây: Đào to SQL