Tags:

Đổi tên bảng, cột tạm thời với mệnh đề AS trong SQL

Chúng ta có thể thay đổi tên bảng, cột một cách tạm thời trong SQL với mệnh đề AS trong một câu truy vấn cụ thể. Đây là một tính năng khá hữu dụng giúp chúng ta có thể rút gọn tên của bảng, cột trong câu truy vấn, nhầm giảm độ phức tạp, dài dòng của câu truy vấn, một số trường hợp có thể giúp chúng ta giảm thiểu thời gian viết câu truy vấn.

Lưu ý đây chỉ là cách để thay đổi tên bảng, cột tạm thời trong một câu truy vấn, trong thực tế thì tên bảng và cột thật trong database sẽ không bị ảnh hưởng.

Cú pháp

Để đổi tên bảng sử dụng AS, chúng ta có thể sử dụng cú pháp sau:

SELECT column1, column2....
FROM table_name AS alias_name
WHERE [condition];

Hoặc đổi tên cột theo cú pháp sau:

SELECT column_name AS alias_name
FROM table_name
WHERE [condition];

Ví dụ

Cho bảng CUSTOMERS với cấu trúc và dữ liệu sau:

+----+----------+-----+-----------+----------+
| ID | NAME     | AGE | ADDRESS   | SALARY   |
+----+----------+-----+-----------+----------+
|  1 | Ramesh   |  32 | Ahmedabad |  2000.00 |
|  2 | Khilan   |  25 | Delhi     |  1500.00 |
|  3 | kaushik  |  23 | Kota      |  2000.00 |
|  4 | Chaitali |  25 | Mumbai    |  6500.00 |
|  5 | Hardik   |  27 | Bhopal    |  8500.00 |
|  6 | Komal    |  22 | MP        |  4500.00 |
|  7 | Muffy    |  24 | Indore    | 10000.00 |

Và 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 |

Bây giờ, mình sẽ viết câu lệnh SQL sử dụng AS để đổi tên bảng 

SQL> SELECT C.ID, C.NAME, C.AGE, O.AMOUNT 
   FROM CUSTOMERS AS C, ORDERS AS O
   WHERE  C.ID = O.CUSTOMER_ID;

Như các bạn có thể thấy mình đã đổi tên CUSTOMERS thành C và ORDERS thành O. Việc này đã giúp mình viết mệnh đề WHERE dễ dàng hơn khi không phải viết tường minh tên đầy đủ của 2 bảng CUSTOMERS và ORDERS.

+----+----------+-----+--------+
| ID | NAME     | AGE | AMOUNT |
+----+----------+-----+--------+
|  3 | kaushik  |  23 |   3000 |
|  3 | kaushik  |  23 |   1500 |
|  2 | Khilan   |  25 |   1560 |
|  4 | Chaitali |  25 |   2060 |
+----+----------+-----+--------+

Ví dụ tiếp theo mình sử dụng mệnh đề AS

SQL> SELECT  ID AS CUSTOMER_ID, NAME AS CUSTOMER_NAME
   FROM CUSTOMERS
   WHERE SALARY IS NOT NULL;

Ở trên mình đã đổi tên cột ID thành CUSTOMER_ID và NAME thành CUSTOMER_NAME, vì thế kết quả trả về sẽ với tên các cột được thay đổi tương ứng.

+-------------+---------------+
| CUSTOMER_ID | CUSTOMER_NAME |
+-------------+---------------+
|           1 | Ramesh        |
|           2 | Khilan        |
|           3 | kaushik       |
|           4 | Chaitali      |
|           5 | Hardik        |
|           6 | Komal         |
|           7 | Muffy         |
+-------------+---------------+

Nguồn tham khảo

https://www.tutorialspoint.com/sql/sql-alias-syntax.htm

0 0 votes
Article Rating
Subscribe
Notify of
guest
0 Comments
Inline Feedbacks
View all comments
0
Would love your thoughts, please comment.x
()
x