Tìm hiểu ALIAS (AS) trong SQL
Trong bài này mình sẽ nói về cách đặt lại tên cho column, table bằng cách sử dụng từ khóa AS, từ khóa này giúp chúng ta xử lý việc trùng tên khi viết truy vấn với SQL.
1. ALIAS là gì?
Alias dịch ra tiếng Việt có nghĩa là bí danh, dùng trong SQL thì có nghĩa là sử dụng bí danh cho một đối tượng cụ thể nào đó. Bạn có thể sử dụng alias cho column, table hay một tên bất kì, và kí hiệu của nó trong SQL à AS
. Lệnh này sẽ tạo ra một tên tạm và chỉ tồn tại trong quá trình chạy câu truy vấn, sau đó nó sẽ được giải phóng khỏi bộ nhớ.
SELECT column_name AS column_new_name FROM table_name AS table_new_name
Trong đó:
column_new_name
là tên mới của columntable_new_name
là tên mới của table
2. Sử dụng Alias với Column
Tại sao lại cần alias? Như trong phân tích thiết kế database thì trong một bảng tên các columns phải là duy nhất, nhưng ở 2 bảng khác nhau thì tên column có thể sẽ bị trùng tên nên việc này sẽ gây ra lỗi nếu bạn không chỉ định rõ column của bảng nào.
Bài viết này được đăng tại [free tuts .net]
Ví dụ:
- Bảng A có: ID | NAME
- Bảng B có: ID | NAME
Để giải quyết nó thì ta có thể sử dụng dấu chấm để truy vấn tới đúng column của table như sau:
SELECT A.name, B.name FROM A, B
Hoặc nếu bạn kết hợp với lệnh AS để tạo tên mới thì sẽ chuyên nghiệp hơn rất nhiều.
SELECT A.name AS a_name, B.name AS b_name FROM A, B
Kết quả sẽ trả về danh sách gồm 2 column: a_name | b_name
.
Hãy tham khảo tiếp ví dụ dưới đây, lệnh AS sẽ đổi tên CustomerID
thành ID
, CustomerName
thành Customer
SELECT CustomerID AS ID, CustomerName AS Customer FROM Customers;
Không chỉ đổi tên cho một column, nó có thể đổi tên cho một nhóm các column hoặc một giá trị chưa có tên như hàm COUNT.
SELECT COUNT(NAME) AS total_record FROM A
SELECT CustomerName, CONCAT(Address,', ',PostalCode,', ',City,', ',Country) AS Address FROM Customers;
3. Sử dụng Alias với Table
Bạn cũng có thể sử dụng Alias để đôi tên cho table. Vi dụ khi bạn đặt tên table quá dài hoặc thực hiện phép JOIN trên cùng một table thì sẽ bị trùng tên, lúc này bạn sẽ đặt lại tên mới giúp nó ngắn hơn, câu try vấn trông sẽ thân thiện hơn.
SELECT o.OrderID, o.OrderDate, c.CustomerName FROM Customers AS c, Orders AS o
Sau khi bạn đổi tên xong là có thể sử dụng tên đó ở SELECT hoặc WHERE đều được. Xem ví dụ dưới đây.
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;
Nếu viết không sử dụng Alias thì sẽ như sau:
SELECT Orders.OrderID, Orders.OrderDate, Customers.CustomerName FROM Customers, Orders WHERE Customers.CustomerName="Around the Horn" AND Customers.CustomerID=Orders.CustomerID;
Như vậy lệnh ALIAS rất hữu ích phải không các bạn, nó giúp ta viết câu truy vấn sạch sẽ hơn.
Và lưu ý với bạn là bạn có thể bỏ từ khóa AS cũng được nhé, xem ví dụ đưới đây.
SELECT COUNT(NAME) total_recordFROM A<br />
Cùng chuyên mục:
Phiên làm việc là gì trong SQL
Trong bài viết này mình sẽ giải thích phiên làm việc là gì trong SQL…