ALIAS trong SQL là cách đổi tên một bảng hoặc một cột tạm thời bằng cách đặt tên khác. Việc sử dụng các bí danh bảng (table alias) là để đổi tên một bảng trong một câu lệnh SQL cụ thể. Việc đổi tên là một thay đổi tạm thời và tên bảng thật sự không thay đổi trong cơ sở dữ liệu. Các bí danh cột (column alias) được sử dụng để đổi tên các cột của bảng cho mục đích của một truy vấn SQL cụ thể.
Cú pháp
Cú pháp cơ bản của một bí danh bảng như sau.
SELECT column1, column2.... FROM table_name AS alias_name WHERE [condition];
Cú pháp cơ bản của một bí danh cột như sau.
SELECT column_name AS alias_name FROM table_name WHERE [condition];
Ví dụ
Xem xét hai bảng sau.
Bảng 1 - Bảng CUSTOMERS.
+----+----------+-----+-----------+----------+ | ID | NAME | AGE | ADDRESS | SALARY | +----+----------+-----+-----------+----------+ | 1 | Ha Anh | 32 | Da Nang | 2000.00 | | 2 | Van Ha | 25 | Ha Noi | 1500.00 | | 3 | Vu Bang | 23 | Vinh | 2000.00 | | 4 | Thu Minh | 25 | Ha Noi | 6500.00 | | 5 | Hai An | 27 | Ha Noi | 8500.00 | | 6 | Hoang | 22 | Ha Noi | 4500.00 | | 7 | Binh | 24 | Ha Noi | 10000.00 | +----+----------+-----+-----------+----------+
Bảng 2 - Bảng ORDERS.
+-----+---------------------+-------------+--------+ |OID | DATE | CUSTOMER_ID | AMOUNT | +-----+---------------------+-------------+--------+ | 102 | 2009-10-08 00:00:00 | 3 | 3000 | | 100 | 2009-10-08 00:00:00 | 3 | 1500 | | 101 | 2009-11-20 00:00:00 | 2 | 1560 | | 103 | 2008-05-20 00:00:00 | 4 | 2060 | +-----+---------------------+-------------+--------+
Khối lệnh sau đây cho thấy việc sử dụng một bí danh bảng (table alias) .
SELECT C.ID, C.NAME, C.AGE, O.AMOUNT FROM CUSTOMERS AS C, ORDERS AS O WHERE C.ID = O.CUSTOMER_ID;
Điều này sẽ tạo ra kết quả sau.
+----+----------+-----+--------+ | ID | NAME | AGE | AMOUNT | +----+----------+-----+--------+ | 3 | Vu Bang | 23 | 3000 | | 3 | Vu Bang | 23 | 1500 | | 2 | Van Ha | 25 | 1560 | | 4 | Thu Minh | 25 | 2060 | +----+----------+-----+--------+
Sau đây là cách sử dụng bí danh cột (column alias) .
SELECT ID AS CUSTOMER_ID, NAME AS CUSTOMER_NAME FROM CUSTOMERS WHERE SALARY IS NOT NULL;
Điều này sẽ tạo ra kết quả sau.
+-------------+---------------+ | CUSTOMER_ID | CUSTOMER_NAME | +-------------+---------------+ | 1 | Ha Anh | | 2 | Van Ha | | 3 | Vu Bang | | 4 | Thu Minh | | 5 | Hai An | | 6 | Hoang | | 7 | Binh | +-------------+---------------+