WEB CƠ BẢN

Đặt bí danh cho cột & bảng bằng lệnh AS trong MySQL


- Trong hệ quản trị cơ sở dữ liệu MySQL, lệnh AS được dùng để đặt bí danh (tên tạm thời) cho các cột hoặc bảng, những bí danh này chỉ tồn tại trong khoảng thời gian truy vấn dữ liệu.

- Việc đặt bí danh thường được sử dụng trong những trường hợp như:

  • Khi truy xuất dữ liệu, bạn muốn đổi tên cho các cột trở nên ngắn gọn, dễ nhìn, dễ hiểu hơn, . . . .
  • Khi có nhiều bảng tham gia vào việc truy vấn dữ liệu, các bạn muốn đặt lại tên cho bảng ngắn hơn, để đơn giản hóa việc viết mã lệnh (giống như ví dụ 3)
  • . . . .

- Trong những bài hướng dẫn tiếp theo thì sẽ có rất nhiều ví dụ sử dụng đến lệnh AS, khi đó các bạn sẽ được hiểu rõ hơn về công dụng của việc đặt bí danh, còn trong bài học này thì các bạn chỉ cần tìm hiểu cách thức làm thế nào để đặt bí danh cho cột & bảng là được.

- Dưới đây là cú pháp dùng để đặt bí danh cho cột:

SELECT column_name AS alias_name
FROM table_name;

- Dưới đây là cú pháp dùng để đặt bí danh cho bảng:

SELECT column_name
FROM table_name AS alias_name;

Tham khảo một số ví dụ

- Trong bài học này, tôi sẽ sử dụng hai cái bảng Customers & Orders như bên dưới để làm một số ví dụ minh họa.

CustomerID CustomerName City
1 Nguyễn Thành Nhân Cần Thơ
2 Huỳnh Văn Thiên Vĩnh Long
3 Doãn Quốc Thiên Thanh Sóc Trăng
4 Trần Duy Hưng Bạc Liêu
5 Lê Thị Anh Thư Hậu Giang
OrderID OrderDate CustomerID Total
1 2019-02-07 1 180000
2 2019-02-18 4 140000
3 2019-03-11 5 280000
4 2019-04-22 2 235000
5 2019-06-13 3 220000
6 2019-07-25 1 165000
7 2019-09-10 3 350000
8 2019-09-30 5 115000
Ví dụ 1:
SELECT CustomerID, CustomerName AS HỌ_TÊN_KHÁCH_HÀNG, City AS THÀNH_PHỐ
FROM Customers
WHERE CustomerID > 2;

- Sau khi thực thi câu lệnh phía trên thì tôi sẽ lấy được một bảng dữ liệu như sau:

CustomerID HỌ_TÊN_KHÁCH_HÀNG THÀNH_PHỐ
3 Doãn Quốc Thiên Thanh Sóc Trăng
4 Trần Duy Hưng Bạc Liêu
5 Lê Thị Anh Thư Hậu Giang
Ví dụ 2:
SELECT CustomerID AS MÃ_KHÁCH_HÀNG, CONCAT(CustomerName," sống tại ",City) AS THÔNG_TIN
FROM Customers;

- Sau khi thực thi câu lệnh phía trên thì tôi sẽ lấy được một bảng dữ liệu như sau:

MÃ_KHÁCH_HÀNG THÔNG_TIN
1 Nguyễn Thành Nhân sống tại Cần Thơ
2 Huỳnh Văn Thiên sống tại Vĩnh Long
3 Doãn Quốc Thiên Thanh sống tại Sóc Trăng
4 Trần Duy Hưng sống tại Bạc Liêu
5 Lê Thị Anh Thư sống tại Hậu Giang
Ví dụ 3:

- Liệt kê những đơn hàng có số tiền thanh toán lớn hơn 200.000đ

- Lưu ý: Các thông tin phải bao gồm mã đơn hàng, ngày lập đơn hàng, số tiền thanh toán, tên khách hàng.

SELECT o.OrderID, o.OrderDate, o.Total, c.CustomerName
FROM Orders AS o, Customers AS c
WHERE (o.Total > 200000) AND (o.CustomerID = c.CustomerID);

- Sau khi thực thi câu lệnh phía trên thì tôi sẽ lấy được một bảng dữ liệu như sau:

OrderID OrderDate Total CustomerName
4 2019-04-22 235000 Huỳnh Văn Thiên
5 2019-06-13 220000 Doãn Quốc Thiên Thanh
7 2019-09-10 350000 Doãn Quốc Thiên Thanh
3 2019-03-11 280000 Lê Thị Anh Thư

- Lưu ý: Câu lệnh phía trên sẽ có ý nghĩa tương tự như câu lệnh bên dưới.

SELECT Orders.OrderID, Orders.OrderDate, Orders.Total, Customers.CustomerName
FROM Orders, Customers
WHERE (Orders.Total > 200000) AND (Orders.CustomerID = Customers.CustomerID);
Ví dụ 4:

- Tương tự như ví dụ 3, nhưng đặt lại tên cho các cột thành: CỘT_1 CỘT_2 CỘT_3 CỘT_4

SELECT o.OrderID AS CỘT_1, o.OrderDate AS CỘT_2, o.Total AS CỘT_3, c.CustomerName AS CỘT_4
FROM Orders AS o, Customers AS c
WHERE (o.Total > 200000) AND (o.CustomerID = c.CustomerID);

- Sau khi thực thi câu lệnh phía trên thì tôi sẽ lấy được một bảng dữ liệu như sau:

CỘT_1 CỘT_2 CỘT_3 CỘT_4
4 2019-04-22 235000 Huỳnh Văn Thiên
5 2019-06-13 220000 Doãn Quốc Thiên Thanh
7 2019-09-10 350000 Doãn Quốc Thiên Thanh
3 2019-03-11 280000 Lê Thị Anh Thư