Chủ Nhật, 30 tháng 7, 2023

Tìm hiểu ALIAS (AS) trong SQL

Trong bài này mình sẽ nói về cách đặt lại tên cho column, table bằng cách sử dụng từ khóa AS, từ khóa này giúp chúng ta xử lý việc trùng tên khi viết truy vấn với SQL.

Mục lục

  • 1. ALIAS là gì?
  • 2. Sử dụng Alias với Column
  • 3. Sử dụng Alias với Table

1. ALIAS là gì?

Alias dịch ra tiếng Việt có nghĩa là bí danh, dùng trong SQL thì có nghĩa là sử dụng bí danh cho một đối tượng cụ thể nào đó. Bạn có thể sử dụng alias cho column, table hay một tên bất kì, và kí hiệu của nó trong SQL à AS. Lệnh này sẽ tạo ra một tên tạm và chỉ tồn tại trong quá trình chạy câu truy vấn, sau đó nó sẽ được giải phóng khỏi bộ nhớ.

1
2
SELECT column_name AS column_new_name
FROM table_name AS table_new_name

Trong đó:

  • column_new_name là tên mới của column
  • table_new_name là tên mới của table

2. Sử dụng Alias với Column

Tại sao lại cần alias? Như trong phân tích thiết kế database thì trong một bảng tên các columns phải là duy nhất, nhưng ở 2 bảng khác nhau thì tên column có thể sẽ bị trùng tên nên việc này sẽ gây ra lỗi nếu bạn không chỉ định rõ column của bảng nào.

Bài viết này được đăng tại tranvanbinh.vn, vietdba.vn

Ví dụ:

  • Bảng A có: ID | NAME
  • Bảng B có: ID | NAME

Để giải quyết nó thì ta có thể sử dụng dấu chấm để truy vấn tới đúng column của table như sau:

1
2
SELECT A.name, B.name
FROM A, B

Hoặc nếu bạn kết hợp với lệnh AS để tạo tên mới thì sẽ chuyên nghiệp hơn rất nhiều.

1
2
SELECT A.name AS a_name, B.name AS b_name
FROM A, B

Kết quả sẽ trả về danh sách gồm 2 column: a_name | b_name

Hãy tham khảo tiếp ví dụ dưới đây, lệnh AS sẽ đổi tên CustomerID thành IDCustomerName thành Customer

1
2
SELECT CustomerID AS ID, CustomerName AS Customer
FROM Customers;

Không chỉ đổi tên cho một column, nó có thể đổi tên cho một nhóm các column hoặc một giá trị chưa có tên như hàm COUNT. 

1
2
SELECT COUNT(NAME) AS total_record
FROM A

1
2
SELECT CustomerName, CONCAT(Address,', ',PostalCode,', ',City,', ',Country) AS Address
FROM Customers;

3. Sử dụng Alias với Table

Bạn cũng có thể sử dụng Alias để đôi tên cho table. Vi dụ khi bạn đặt tên table quá dài hoặc thực hiện phép JOIN trên cùng một table thì sẽ bị trùng tên, lúc này bạn sẽ đặt lại tên mới giúp nó ngắn hơn, câu try vấn trông sẽ thân thiện hơn.

1
2
SELECT o.OrderID, o.OrderDate, c.CustomerName
FROM Customers AS c, Orders AS o

Sau khi bạn đổi tên xong là có thể sử dụng tên đó ở SELECT hoặc WHERE đều được. Xem ví dụ dưới đây.

1
2
3
SELECT o.OrderID, o.OrderDate, c.CustomerName
FROM Customers AS c, Orders AS o
WHERE c.CustomerName="Around the Horn" AND c.CustomerID=o.CustomerID;

Nếu viết không sử dụng Alias thì sẽ như sau:

1
2
3
SELECT Orders.OrderID, Orders.OrderDate, Customers.CustomerName
FROM Customers, Orders
WHERE Customers.CustomerName="Around the Horn" AND Customers.CustomerID=Orders.CustomerID;

Như vậy lệnh ALIAS rất hữu ích phải không các bạn, nó giúp ta viết câu  truy vấn sạch sẽ hơn. 

Và lưu ý với bạn là bạn có thể bỏ từ khóa AS cũng được nhé, xem ví dụ đưới đây.

1
SELECT COUNT(NAME) total_recordFROM A<br />
=============================
Nếu bạn muốn tiết kiệm 3-5 NĂM trên con đường trở thành DBA chuyên nghiệp thì hãy đăng ký ngay KHOÁ HỌC ORACLE DATABASE A-Z ENTERPRISE, được Coaching trực tiếp từ tôi với toàn bộ kinh nghiệm, thủ tục, quy trình, bí kíp thực chiến mà bạn sẽ KHÔNG THỂ tìm kiếm trên Internet/Google giúp bạn dễ dàng quản trị mọi hệ thống Core tại Việt Nam và trên thế giới, đỗ OCP.
- CÁCH ĐĂNG KÝ: Gõ (.) hoặc để lại số điện thoại hoặc inbox https://m.me/tranvanbinh.vn hoặc Hotline/Zalo 090.29.12.888
- Chi tiết tham khảo:
https://bit.ly/oaz_w
=============================
2 khóa học online qua video giúp bạn nhanh chóng có những kiến thức nền tảng về Linux, Oracle, học mọi nơi, chỉ cần có Internet/4G:
- Oracle cơ bản: https://bit.ly/admin1_1200
- Linux: https://bit.ly/linux_1200
=============================
KẾT NỐI VỚI CHUYÊN GIA TRẦN VĂN BÌNH:
📧 Mail: binhoracle@gmail.com
☎️ Mobile/Zalo: 0902912888
👨 Facebook: https://www.facebook.com/BinhOracleMaster
👨 Inbox Messenger: https://m.me/101036604657441 (profile)
👨 Fanpage: https://www.facebook.com/tranvanbinh.vn
👨 Inbox Fanpage: https://m.me/tranvanbinh.vn
👨👩 Group FB: https://www.facebook.com/groups/DBAVietNam
👨 Website: https://www.tranvanbinh.vn
👨 Blogger: https://tranvanbinhmaster.blogspot.com
🎬 Youtube: https://www.youtube.com/@binhguru
👨 Tiktok: https://www.tiktok.com/@binhguru
👨 Linkin: https://www.linkedin.com/in/binhoracle
👨 Twitter: https://twitter.com/binhguru
👨 Podcast: https://www.podbean.com/pu/pbblog-eskre-5f82d6
👨 Địa chỉ: Tòa nhà Sun Square - 21 Lê Đức Thọ - Phường Mỹ Đình 1 - Quận Nam Từ Liêm - TP.Hà Nội

=============================
oracle tutorial, học oracle database, Tự học Oracle, Tài liệu Oracle 12c tiếng Việt, Hướng dẫn sử dụng Oracle Database, Oracle SQL cơ bản, Oracle SQL là gì, Khóa học Oracle Hà Nội, Học chứng chỉ Oracle ở đầu, Khóa học Oracle online,sql tutorial, khóa học pl/sql tutorial, học dba, học dba ở việt nam, khóa học dba, khóa học dba sql, tài liệu học dba oracle, Khóa học Oracle online, học oracle sql, học oracle ở đâu tphcm, học oracle bắt đầu từ đâu, học oracle ở hà nội, oracle database tutorial, oracle database 12c, oracle database là gì, oracle database 11g, oracle download, oracle database 19c, oracle dba tutorial, oracle tunning, sql tunning , oracle 12c, oracle multitenant, Container Databases (CDB), Pluggable Databases (PDB), oracle cloud, oracle security, oracle fga, audit_trail,oracle RAC, ASM, oracle dataguard, oracle goldengate, mview, oracle exadata, oracle oca, oracle ocp, oracle ocm , oracle weblogic, postgresql tutorial, mysql tutorial, mariadb tutorial, ms sql server tutorial, nosql, mongodb tutorial, oci, cloud, middleware tutorial, hoc solaris tutorial, hoc linux tutorial, hoc aix tutorial, unix tutorial, securecrt, xshell, mobaxterm, putty

ĐỌC NHIỀU

Trần Văn Bình - Oracle Database Master