Bài MySQL 21: Alias trong MySQL

0
298

Xin chào các bạn, trong bài ngày hôm nay mình sẽ giới thiệu đến các bạn một phần mới trong MySQL đó là Alias hay còn gọi là bí danh. Alias được sử dụng để cải thiện khả năng đọc dữ liệu của các truy vấn.

MySQL hỗ trợ hai loại alias được gọi là alias columnalias table. Bây giờ chúng ta sẽ đi vào chi tiết cho từng loại alias nhé.

Alias cho cột

Đôi khi tên của các cột rất rắc rối khiến cho đầu ra của truy vấn rất khó hiểu. Ví vậy chúng ta cần đặt cho cột đó một bí danh (alias).

Câu lệnh sau minh họa cách sử dụng alias column:

[column_1 | expression]

AS descriptive_name FROM table_name;

Để cung cấp cho một alias cho cột, bạn sử dụng từ khóa AS theo sau là alias. Nếu alias chứa khoảng trắng, bạn phải khai báo nó như sau:

[column_1 | expression]

AS descriptive name FROM table_name;

Bởi vì từ khóa AS là tùy chọn, bạn có thể bỏ qua nó trong câu lệnh. Lưu ý rằng bạn cũng có thể cho một biểu thức một alias.

Bây giờ các bạn hãy xem ví dụ sau: mình có bảng employees

Truy vấn sau đây chọn tên và họ của nhân viên và kết hợp chúng để tạo ra tên đầy đủ. Hàm CONCAT_WS được sử dụng để nối tên và họ.

kết quả trả về là:

Các bạn có thể thấy tiêu đề cột khá khó đọc, bây giờ bạn có thể gán tiêu đề của cột đó với một alias_column để làm cho nó dễ đọc hơn như sau:

kết quả trả về là:

Trong MySQL, bạn có thể sử dụng alias column trong câu lệnh ORDER BY, GROUP BYHAVING để tham chiếu đến cột.

Ví dụ: truy vấn sau sử dụng alias column trong mệnh đề ORDER BY để sắp xếp tên đầy đủ của nhân viên theo thứ tự abc:

kết quả trả về là:

Lưu ý: Bạn không thể sử dụng một alias column trong câu lệnh WHERE. Lý do là vì khi MySQL đánh giá câu lệnh WHERE, các giá trị của các cột được chỉ định trong câu lệnh SELECT có thể chưa được xác định.

Alias cho Bảng

Bạn có thể sử dụng alias để đặt tên cho một bảng. Bạn chỉ định một alias table bằng cách sử dụng từ khóa AS như sau:

Giống như bí alias cho cột, từ khóa AS là tùy chọn để bạn có thể bỏ qua nó.

Bạn thường sử dụng alias table trong câu lệnh INNER JOIN, LEFT JOIN

Bây giờ mình có 2 bảng là customers  và orders có các thuộc tính như sau:

Cả hai bảng có cùng tên cột: customerNumber .Nếu không sử dụng alias table để cột customerNumber đủ điều kiện, bạn sẽ nhận được thông báo lỗi như sau:

Để tránh lỗi này, bạn sử dụng alias table để cột customerNumber đủ điều kiện :

Truy vấn ở trên chọn ra tên khách hàng và số lượng đơn đặt hàng từ bảng customers và orders. Nó sử dụng c làm bí danh cho bảng customers và o làm bí danh cho bảng orders. Các cột trong bảng customers và orders được gọi qua alias table.

Nếu bạn không sử dụng bí danh trong truy vấn ở trên, bạn phải sử dụng tên bảng để tham chiếu đến các cột của nó, làm cho truy vấn dài và gặp rắc rối khi đọc nó.

Kết luận

Như vậy trong bài ngày hôm nay mình đã giới thiệu đến các bạn Alias(bí danh) trong MySQL. Trong bài tiếp theo chúng ta sẽ tìm hiểu về câu lệnh JOIN trong MySQL.

Chúc các bạn học tập tốt!

BÌNH LUẬN

Vui lòng nhập bình luận của bạn
Vui lòng nhập tên của bạn ở đây