1. Giới thiệu

SQL Aliases (bí danh) là một công cụ giúp bạn đặt tên tạm thời cho bảng hoặc cột trong các truy vấn SQL. Aliases giúp làm cho truy vấn dễ đọc hơn, đơn giản hóa việc xử lý dữ liệu và giảm độ dài của các tên bảng hoặc cột. Thông thường, aliases được sử dụng trong các truy vấn phức tạp hoặc khi kết hợp nhiều bảng với nhau.

Trong bài viết này, chúng ta sẽ tìm hiểu cách sử dụng MySQL Aliases cho cột và bảng, kèm theo các ví dụ thực tế để giúp bạn hiểu rõ hơn về công dụng của chúng.

2. Cú pháp MySQL Aliases

a. Aliases cho cột

Bạn có thể sử dụng AS để tạo bí danh cho một cột trong kết quả truy vấn. Khi bạn sử dụng bí danh, nó sẽ thay thế tên cột ban đầu trong kết quả trả về của truy vấn.

Cú pháp:

shell
SELECT column_name AS alias_name
FROM table_name;

b. Aliases cho bảng

Tương tự, bạn cũng có thể sử dụng AS để tạo bí danh cho bảng. Điều này giúp bạn dễ dàng tham chiếu tới bảng đó hơn trong các truy vấn phức tạp, đặc biệt khi kết hợp nhiều bảng với nhau (JOIN).

Cú pháp:

shell
SELECT column1, column2
FROM table_name AS alias_name;

Lưu ý: Từ khóa AS là tùy chọn. Bạn có thể sử dụng bí danh mà không cần từ khóa AS.

3. Bảng dữ liệu giả định

Giả sử chúng ta có hai bảng employeesdepartments như sau:

Bảng employees:

employee_idfirst_namelast_namedepartment_idsalary
1JohnDoe11500000
2JaneSmith21700000
3BobJohnson11300000
4AliceBrown32000000
5CharlieGreen21800000

Bảng departments:

department_iddepartment_name
1Sales
2Marketing
3HR

4. Sử dụng Aliases cho cột

a. Đặt bí danh cho cột

Khi bạn muốn hiển thị cột với tên dễ hiểu hơn trong kết quả trả về, bạn có thể sử dụng Aliases để đổi tên cột tạm thời.

Ví dụ 1: Đặt bí danh cho cột first_namelast_name

shell
SELECT first_name AS 'First Name', last_name AS 'Last Name', salary AS 'Employee Salary'
FROM employees;

Kết quả:

First NameLast NameEmployee Salary
JohnDoe1500000
JaneSmith1700000
BobJohnson1300000
AliceBrown2000000
CharlieGreen1800000

Trong ví dụ này, tên các cột first_name, last_name, và salary đã được thay thế bằng các bí danh dễ hiểu hơn trong kết quả.

b. Sử dụng phép tính và đặt bí danh

Bạn có thể sử dụng phép tính trong các truy vấn và đặt bí danh cho kết quả tính toán.

Ví dụ 2: Tính thu nhập hàng năm cho từng nhân viên và đặt bí danh cho cột

shell
SELECT first_name, last_name, salary * 12 AS 'Annual Salary'
FROM employees;

Kết quả:

first_namelast_nameAnnual Salary
JohnDoe18000000
JaneSmith20400000
BobJohnson15600000
AliceBrown24000000
CharlieGreen21600000

Trong ví dụ này, chúng ta đã tính lương hàng năm của nhân viên và sử dụng bí danh để đổi tên cột kết quả thành "Annual Salary".

5. Sử dụng Aliases cho bảng

Aliases cho bảng đặc biệt hữu ích khi bạn làm việc với nhiều bảng và cần giảm độ dài tên bảng để làm cho truy vấn dễ đọc hơn.

a. Đặt bí danh cho bảng

Ví dụ 3: Sử dụng Aliases cho bảng để rút gọn câu lệnh

shell
SELECT e.first_name, e.last_name, d.department_name
FROM employees AS e
JOIN departments AS d ON e.department_id = d.department_id;

Kết quả:

first_namelast_namedepartment_name
JohnDoeSales
JaneSmithMarketing
BobJohnsonSales
AliceBrownHR
CharlieGreenMarketing

Trong ví dụ này, chúng ta đã tạo bí danh e cho bảng employees và bí danh d cho bảng departments. Điều này giúp rút ngắn truy vấn và dễ đọc hơn khi tham chiếu các cột từ hai bảng.

b. Sử dụng bí danh khi có nhiều bảng cùng cột

Khi hai bảng có cùng tên cột, việc sử dụng bí danh là cách duy nhất để phân biệt các cột đó.

Ví dụ 4: Phân biệt cột department_id trong bảng employeesdepartments

shell
SELECT e.first_name, e.last_name, e.department_id AS 'Employee Department ID', d.department_id AS 'Department ID'
FROM employees AS e
JOIN departments AS d ON e.department_id = d.department_id;

Kết quả:

first_namelast_nameEmployee Department IDDepartment ID
JohnDoe11
JaneSmith22
BobJohnson11
AliceBrown33
CharlieGreen22

Trong ví dụ này, chúng ta đã sử dụng bí danh để phân biệt hai cột department_id từ hai bảng khác nhau (employeesdepartments).

6. Các ví dụ về MySQL Aliases

Ví dụ 1: Đặt bí danh cho cột trong truy vấn

shell
SELECT first_name AS 'First Name', last_name AS 'Last Name', salary * 12 AS 'Annual Salary'
FROM employees;

Ví dụ 2: Đặt bí danh cho bảng khi JOIN hai bảng

shell
SELECT e.first_name, e.last_name, d.department_name
FROM employees AS e
JOIN departments AS d ON e.department_id = d.department_id;

Ví dụ 3: Sử dụng bí danh cho các phép tính

shell
SELECT first_name, last_name, salary * 12 AS 'Annual Salary'
FROM employees;

Ví dụ 4: Sử dụng bí danh để rút ngắn tên bảng khi JOIN nhiều bảng

shell
SELECT e.first_name, e.last_name, d.department_name
FROM employees AS e
JOIN departments AS d ON e.department_id = d.department_id;

7. Một số lưu ý khi sử dụng MySQL Aliases

a. Sử dụng từ khóa AS hay không?

Việc sử dụng từ khóa AS là tùy chọn trong SQL. Bạn có thể bỏ qua từ khóa này và chỉ sử dụng bí danh trực tiếp. Tuy nhiên, sử dụng AS giúp làm rõ rằng đây là bí danh.

Ví dụ:

shell
SELECT first_name 'First Name', last_name 'Last Name'
FROM employees;

Câu lệnh trên sẽ hoạt động tương tự như sử dụng AS.

b. Aliases chỉ tồn tại trong truy vấn

Bí danh chỉ tồn tại tạm thời trong truy vấn và không thay đổi tên thực sự của bảng hoặc cột trong cơ sở dữ liệu.

c. Aliases không phân biệt chữ hoa, chữ thường

MySQL không phân biệt chữ hoa và chữ thường trong việc sử dụng aliases. Ví dụ, AS FirstNameAS firstname được coi là giống nhau.

Kết luận

SQL Aliases là một công cụ mạnh mẽ giúp bạn đặt tên tạm thời cho cột và bảng, giúp truy vấn trở nên ngắn gọn, dễ đọc và dễ quản lý hơn. Aliases đặc biệt hữu ích khi làm việc với các truy vấn phức tạp hoặc khi kết hợp nhiều bảng.

Hãy thử áp dụng các ví dụ này trong các bài tập và dự án thực tế trên CodeTutHub để thành thạo hơn về cách sử dụng SQL Aliases trong MySQL!