ALIASES (bí danh) trong SQL Server dùng để tạo tên tạm thời (gọi là bí danh) cho cột hoặc bảng.
- COLUMN ALIASES: dùng để tạo tiêu đề cột trong kết quả để dễ nhìn.
- TABLE ALIASES: dùng để rút gọn câu SQL cho dễ đọc hoặc khi cần tự kết nối (ví dụ: liệt kê cùng một bảng nhiều hơn 1 lần trong mệnh đề
FROM).
Cú pháp ALIAS
Cú pháp đặt bí danh cho cột
ten_cot [ AS ] bi_danh
Hoặc đặt bí danh cho bảng
ten_bang [AS] bi_danh
Tham số
ten_cot: Tên gốc của cột muốn đặt bí danh.
ten_bang: Tên gốc của bảng muốn đặt bí danh.
AS: Tùy chọn. Hầu hết lập trình viên dùng từ khóa AS khi đặt bí danh cho cột nhưng không dùng khi đặt cho bảng. Dùng hay không không ảnh hưởng đến bí danh trong SQL Server (khác với MySQL nơi AS là tùy chọn). Các ví dụ dưới sẽ dùng AS cho cột và bỏ AS cho bảng.
bi_danh: Tên tạm thời đặt cho cột hoặc bảng.
Lưu ý
- Nếu
bi_danhchứa khoảng trắng, phải đặt trong ngoặc đơn. - Có thể dùng khoảng trắng khi đặt bí danh cho cột. Thường không dùng khoảng trắng khi đặt cho bảng.
- Bí danh chỉ có hiệu lực trong câu lệnh SQL.
Ví dụ – đặt bí danh cho cột
Thường dùng bí danh để tạo tiêu đề cột trong kết quả dễ nhìn.
SELECT nhanvien_id, ten + ho AS TEN_DAY_DU
FROM nhanvien
WHERE ten = 'Sarah';
Trong ví dụ này, đặt bí danh cho cột thứ 2 (ghép tên và họ) là TEN_DAY_DU. Trong kết quả, TEN_DAY_DU sẽ là tiêu đề cột thứ 2. Vì bí danh không có khoảng trắng, không cần ngoặc. Nhưng nếu muốn, có thể dùng.
SELECT nhanvien_id, ten + ho AS 'TEN DAY DU'
FROM nhanvien
WHERE ten = 'Sarah';
Ví dụ khác cần đặt bí danh trong ngoặc đơn.
SELECT nhanvien_id, ten + ho AS 'TEN NHAN VIEN'
FROM nhanvien
WHERE ten = 'Sarah';
Trong ví dụ này, cột thứ 2 trong kết quả được đặt tên là TEN NHAN VIEN.
Ví dụ – đặt bí danh cho bảng
Đặt bí danh cho bảng có thể dùng để liệt kê một bảng nhiều hơn 1 lần trong mệnh đề FROM (tự kết nối - self join) hoặc rút gọn tên bảng cho dễ đọc.
SELECT s.sanpham_ten, hangtonkho.chatluong
FROM sanpham s
INNER JOIN hangtonkho
ON s.sanpham_id = hangtonkho.sanpham_id
ORDER BY s.sanpham_ten ASC, hangtonkho.chatluong DESC;
Ví dụ trên tạo bí danh cho bảng sanpham là s. Bây giờ trong câu SQL, có thể gọi bảng sanpham là s. Khi tạo bí danh bảng, không bắt buộc tạo bí danh cho tất cả bảng trong mệnh đề FROM. Ví dụ tạo bí danh cho bảng hangtonkho như dưới.
SELECT s.sanpham_ten, h.chatluong
FROM sanpham s
INNER JOIN hangtonkho h
ON s.sanpham_id = h.sanpham_id
ORDER BY s.sanpham_ten ASC, h.chatluong DESC;
Bảng hangtonkho gọi là h và bảng sanpham gọi là s.