Alias trong SQL Server

Alias trong SQL Server

Trong hướng dẫn này, bạn sẽ tìm hiểu cách sử dụng bí danh (alias) trong SQL Server bao gồm bí danh cột và bí danh bảng.

Bí danh cột trong SQL Server

Khi bạn sử dụng câu lệnh SELECT để truy vấn dữ liệu từ một bảng, SQL Server sử dụng tên cột làm tiêu đề cột cho đầu ra. Xem ví dụ sau:

SELECT
    first_name,
    last_name
FROM
    sales.customers
ORDER BY
    first_name;

Đây là kết quả:

Bí danh cột trong SQL Server

Như bạn thấy trong kết quả đầu ra, tên cột first_namelast_name được sử dụng cho các tiêu đề cột tương ứng.

Để có được tên đầy đủ của khách hàng, bạn có thể ghép tên, khoảng trắng và họ bằng cách sử dụng toán tử + để nối chuỗi như trong truy vấn sau:

SELECT
    first_name + ' ' + last_name
FROM
    sales.customers
ORDER BY
    first_name;

Đây là kết quả:

Bí danh cột trong SQL Server

SQL Server trả về cột có tên là No column name không có ý nghĩa trong trường hợp này.

Để gán một cột hoặc một biểu thức một tên tạm thời trong khi thực hiện truy vấn, bạn sử dụng bí danh cột (column alias).

Sau đây minh họa cú pháp bí danh cột:


column_name | expression AS column_alias

Trong cú pháp này, bạn sử dụng từ khóa AS để phân tách tên hoặc biểu thức cột và bí danh.

Vì từ khóa AS là tùy chọn, bạn có thể gán bí danh cho một cột như sau:


column_name | expression column_alias

Quay lại ví dụ trên, bạn có thể viết lại truy vấn bằng bí danh cột như sau:

SELECT
    first_name + ' ' + last_name AS full_name
FROM
    sales.customers
ORDER BY
    first_name;

Lưu ý rằng nếu bí danh cột chứa khoảng trắng, bạn cần đặt nó trong dấu nháy đơn như trong ví dụ sau:

SELECT
    first_name + ' ' + last_name AS 'Full Name'
FROM
    sales.customers
ORDER BY
    first_name;

Đây là kết quả:

Bí danh cột trong SQL Server

Ví dụ sau đây cho thấy cách gán bí danh cho một cột:

SELECT
    category_name 'Product Category'
FROM
    production.categories;

Đây là kết quả:

Bí danh cột trong SQL Server

Trong ví dụ này, bí danh cột loại sản phẩm rõ ràng hơn nhiều so với tên cột category_name.

Khi bạn gán một cột một bí danh, bạn có thể sử dụng tên cột hoặc bí danh cột trong mệnh đề ORDER BY như trong ví dụ sau:

SELECT
    category_name 'Product Category'
FROM
    production.categories
ORDER BY
    category_name;  


SELECT
    category_name 'Product Category'
FROM
    production.categories
ORDER BY
    'Product Category';

Lưu ý rằng mệnh đề ORDER BY là mệnh đề cuối cùng được xử lý do đó các bí danh cột được biết đến tại thời điểm sắp xếp.

Bí danh bảng trong SQL Server

Một bảng có thể được cung cấp một bí danh được gọi là tên tương quan hoặc biến phạm vi.

Tương tự như bí danh cột, một bí danh bảng có thể được chỉ định có hoặc không có từ khóa AS:

table_name AS table_alias
table_name table_alias

Xem ví dụ sau:

SELECT
    sales.customers.customer_id,
    first_name,
    last_name,
    order_id
FROM
    sales.customers
INNER JOIN sales.orders ON sales.orders.customer_id = sales.customers.customer_id;

Đây là kết quả:

Bí danh bảng trong SQL Server

Trong ví dụ này, cả bảng customers và bảng orders đều có một cột có cùng tên customer_id, do đó bạn cần tham chiếu đến cột bằng cú pháp sau:

table_name.column_name

Như là:

sales.custoners.customer_id
sales.orders.customer_id

Nếu bạn không làm như vậy, máy chủ SQL sẽ báo lỗi.

Các truy vấn trên là khá khó đọc. May mắn thay, bạn có thể cải thiện khả năng đọc của nó bằng cách sử dụng bí danh bảng như sau:

SELECT
    c.customer_id,
    first_name,
    last_name,
    order_id
FROM
    sales.customers c
INNER JOIN sales.orders o ON o.customer_id = c.customer_id;

Trong truy vấn này, c là bí danh cho bảng sales.customerso là bí danh cho bảng sales.orders.

Khi bạn gán bí danh cho một bảng, bạn phải sử dụng bí danh để tham chiếu các cột trong bảng. Nếu không, SQL Server sẽ báo lỗi.

Trong hướng dẫn này, bạn đã học cách sử dụng bí danh (alias) trong SQL Server bao gồm bí danh cột và bí danh bảng.

Trả lời

Email của bạn sẽ không được hiển thị công khai. Các trường bắt buộc được đánh dấu *