Gắn tên khác cho lệnh SQL

  • Thread starter bvtvba
  • Ngày gửi
B

bvtvba

Guest
1. Thay đổi tên trường dữ liệu:

Khi ta sử dụng lệnh SQL để lấy dữ liệu, nếu cứ giữ nguyên tên trường dữ liệu thì không tránh khỏi việc khó hiểu nếu như tên trường dữ liệu đó đặt với cái tên khó hình dung. Trong trường hợp này, ta muốn gắn một cái tên khác cho trường dữ liệu khi tính toán kết quả, thì ta phải làm thế nào?
Sau đây tôi giới thiệu cú pháp As được sử dụng để thiết định tên khác trong lệnh SQL.

Cú pháp:
Mã:
SELECT TenCu AS TenKhac FROM TableName;
Giả sử tôi có dữ liệu như thế này trong table user :
bangoonamaebasho
1tuhocvbaHaNoi
2EulerHCM
3giaiphapvbaDaNang
Nếu để tên trường dữ liệu như thế này thì rất là khó hiểu khi truy vấn.
Do đó tôi sẽ viết truy vấn như sau:
Mã:
SELECT bango AS 'id', onamae AS 'name', basho AS 'address' FROM user;
2. Thay đổi tên Table
Bây giờ tôi có table user như trên và table có tên là employee.
Tôi thực hiện đổi tên Table khi truy vấn như sau:
Mã:
SELECT u.bango, u.onamae, u.basho, e.salary FROM user AS u, employee AS e WHERE u.bango = e.bango;
3. Không thể sử dụng tên khác với WHERE
Chúng ta có thể đổi tên khi truy vấn bằng SELECT, nhưng tại WHERE là nơi chúng ta viết điều kiện-ở đây không thể thực hiện với cái tên khác.
Câu lệnh sau sẽ lỗi:
Mã:
SELECT bango AS 'id', onamae AS 'name', basho AS 'address' FROM user WHERE 'id' = 1;
Câu lệnh sau sẽ lỗi:
Mã:
SELECT id AS user_bango, name AS 'onamae', address AS 'basho' FROM user WHERE user_bango = 1;
Nội dung lỗi:
Unknown column 'user_bango' in 'where clause'

Câu lệnh sau không lỗi:
Mã:
SELECT bango AS 'id', onamae AS 'name', basho AS 'address' FROM user WHERE bango = 1;
4. Có thể sử dụng tên khác với ORDER BY
Mã:
SELECT bango AS user_id, onamae AS first_name, basho FROM user ORDER BY user_id DESC;
5. Tên mới có dấu đóng mở ngoặc có được không?
Có.
Mã:
SELECT bango AS 'SoHieu(ID)', onamae AS 'Ten', basho AS 'DiaChi' FROM user;
6. Cấu trúc As có thể giản lược
Mã:
SELECT bango 'SoHieu', onamae 'Ten', basho 'DiaChi' FROM user;
Nguồn tham khảo và dịch:
 

NhanSu

SMod
Thành viên BQT
Tùy từng hệ CSDL mà cách dùng alias có thể khác nhau, đối với Oracle không được dùng AS với alias của table. Ví dụ lệnh dưới sẽ báo lỗi trong Oracle, cần bỏ AS đi:
Mã:
SELECT * FROM abc123 AS a
 
Top