Câu lệnh ORDER BY trong SQL, cách dùng kèm ví dụ chi tiết

Đăng lúc 22:38 27.08.2024

Thao tác sắp xếp lại bảng dữ liệu theo điều kiện mong muốn xảy ra thường xuyên trong quá trình lọc và truy vấn dữ liệu trong SQL. Để làm điều đó, bạn sẽ cần sử dụng một loại từ khóa có tên ORDER BY để sắp xếp thông tin theo một hay nhiều trường dữ liệu khác nhau.

Vậy từ khóa ORDER BY trong SQL là gì, cú pháp câu lệnh như nào, cách dùng ra sao? Cùng HocVienDaoTao.Com tìm hiểu trong bài viết hôm nay nhé!

 

Cú pháp ORDER BY trong SQL

ORDER BY là một từ khóa được sử dụng trong SQL để sắp xếp các kết quả của truy vấn theo một hoặc nhiều cột. Bạn có thể sắp xếp dữ liệu theo thứ tự tăng dần (ASC) hoặc giảm dần (DESC) theo dữ liệu kiểu chữ, kiểu số, ngày tháng,... hay đặt ra những trường cần sắp xếp trước trong trường hợp bạn muốn sắp xếp theo nhiều trường dữ liệu.

Với câu lệnh liên quan đến sắp xếp dữ liệu thì chúng ta vẫn cần đến nhóm lệnh SELECT trong SQL, sau đó chúng ta có thể đặt ra những điều kiện (nếu có), rồi mới đến câu lệnh ORDER BY. Cụ thể:

SELECT column1, column2, ...
FROM table_name
WHERE condition
ORDER BY column1 [ASC|DESC], column2 [ASC|DESC], ...;

Trong đó: 

  • SELECT column1, column2, ...: Chọn các cột cần truy vấn.
  • FROM table_name: Chỉ định bảng chứa dữ liệu.
  • WHERE condition: (Tùy chọn) Điều kiện lọc các hàng cần truy vấn.
  • [ASC|DESC]: Tùy chọn sắp xếp theo thứ tự tăng dần (ASC) hoặc giảm dần (DESC). Nếu không chỉ định, SQL sẽ mặc định sẽ là tăng dần (ASC). Còn nếu bạn muốn sắp xếp giảm dần thì bắt buộc phải sử dụng ký hiệu DESC trong SQL.

Lưu ý:

Thường thì từ khóa ORDER BY thì sẽ được đặt ở phần cuối câu lệnh để sắp xếp. Còn phần trước của câu lệnh thì bạn có thể tìm kiếm, tính toán, hay lọc ra những bản ghi phù hợp.

Ví dụ về sắp xếp trong SQL Server bằng ORDER BY

Ví dụ cơ bản về từ khóa ORDER BY

Để hiểu rõ hơn về cách sử dụng từ khóa ORDER BY trong SQL thì bạn có thể tham khảo một số ví dụ thực tế dưới đây và thực hành ngay trên cơ sở dữ liệu của mình nhé.

Yêu cầu 1: Sắp xếp toàn bộ bản ghi trong bảng dữ liệu Customer_Info theo thứ tự tăng dần với trường FirstName.

Bạn gõ câu lệnh sau:

Select * from Customer_Info
ORDER BY FirstName

Cho chạy công thức, bạn sẽ nhận được kết quả toàn bộ các bản ghi đã được sắp xếp tăng dần SQL (A - Z) của cột FirstName.

Ví dụ cơ bản về từ khóa ORDER BY 1

Yêu cầu 2: Sắp xếp toàn bộ bản ghi trong bảng Customer_Info theo thứ tự giảm dần của trường BirthDate.

Tương tự, chúng ta có câu lệnh sau:

select * from Customer_Info
ORDER BY BirthDate DESC

Bấm chạy công thức thì chúng ta sẽ nhận được toàn bộ thông tin đã được sắp xếp theo thứ tự ngày sinh gần nhất so với hiện tại.

Ví dụ cơ bản về từ khóa ORDER BY 2

Với 2 ví dụ đơn giản trên, bạn hoàn toàn có thể thấy cách sử dụng ORDER BY hoàn toàn đơn giản. Nó sẽ là từ khóa để bổ trợ cho những câu lệnh để thực hiện các yêu cầu phức tạp hơn, hay bối cảnh mà chúng ta cần sắp xếp để có thể thấy được sự thay đổi của dữ liệu theo từng giai đoạn.

Ví dụ câu lệnh ORDER BY với mệnh đề điều kiện WHERE

Với các yêu cầu sắp xếp có thêm một số điều kiện khác thì chúng ta sẽ không sắp xếp toàn bộ bản ghi nữa. Bạn chỉ chọn ra những dữ liệu thỏa mãn điều kiện với câu lệnh WHERE trong SQL. Sau đó, chúng ta sẽ tiếp tục tiến hành sắp xếp các bản ghi như mong muốn.

Yêu cầu 3: Sắp xếp toàn bộ bản ghi có giới tính là “M” trong bảng Customer_Info với thứ tự giảm dần theo thu nhập hàng năm.

Công thức:

select * from Customer_Info
where Gender = 'M'
ORDER BY YearlyIncome DESC

Cho chạy công thức, chúng ta sẽ nhận được toàn bộ 946 bản ghi có giới tính “M” đã được sắp xếp theo thu nhập giảm dần.

Ví dụ câu lệnh ORDER BY với mệnh đề điều kiện WHERE 1

Câu lệnh ORDER BY để sắp xếp dữ liệu trong nhiều cột

Yêu cầu 4 (Nâng cao): Lọc tất cả các khách hàng có ít nhất 1 xe ô tô và sắp xếp trường ô tô này theo thứ tự giảm dần. Trong trường hợp có cùng số ô tô thì chúng ta cần phải sắp xếp thêm trường FirstName theo thứ tự tăng dần.

Chúng ta có công thức sau:

select * from Customer_Info
where NumberCarsOwnerd >=1
ORDER BY NumberCarsOwned DESC, FirstName

Lưu ý: Trong trường hợp có nhiều trường thì chúng ta sử dụng dấu phẩy để ngăn cách.

Cho chạy công thức, chúng ta có thể thấy các bản ghi có nhiều hơn 1 xe ô tô, sắp xếp theo thứ tự giảm dần. Những bản ghi có cùng số xe ô tô sẽ được sắp xếp theo thứ tự tăng dần trong bảng chữ cái như sau:

Câu lệnh ORDER BY để sắp xếp dữ liệu trong nhiều cột 1

Yêu cầu 5: Sắp xếp toàn bộ giao dịch bán hàng trong bảng Sales theo thứ tự tăng dần của trường CustomerID. Trong trường hợp có cùng customerID thì hãy sắp xếp theo thứ tự sales amount giảm dần.

Ta có công thức:

select * from Sales
ORDER BY CustomerID, Sales DESC

Chạy công thức, chúng ta đã nhận được các bản ghi được sắp xếp theo thứ tự tăng dần của trường CustomerID, với những CustomerID trùng nhau thì sẽ được sắp xếp giảm dần của trường Sales.

Câu lệnh ORDER BY để sắp xếp dữ liệu trong nhiều cột 2

Lưu ý: Trong cơ sở dữ liệu này, chúng ta có tên bảng với tên trường dữ liệu giống nhau, đều là Sales. Do đó, chúng ta phải rất cẩn thận khi gõ công thức để không nhầm lẫn chúng. Khi gõ tên Sales thì SQL sẽ hiện ra cả tên bảng là Salestên trường là Sales, bạn hãy click chọn đúng nhé.

Câu lệnh ORDER BY để sắp xếp dữ liệu trong nhiều cột 3

Kết luận

Trên đây là hướng dẫn về câu lệnh ORDER BY trong SQL bao gồm công thức và ví dụ chi tiết từ cơ bản đến nâng cao. Nếu bạn còn gặp khó khăn gì trong quá trình sắp xếp dữ liệu với từ khóa ORDER BY thì đừng ngần ngại để lại câu hỏi cho HocVienDaoTao.Com ngay bạn nhé. Chúc bạn thành công!

 
 

 
==***==

Khoá học: Quản trị Chiến lược Dành cho các Lãnh đạo Doanh nghiệp
Nhấn vào đây để bắt đầu khóa học

Khóa học: Trở thành chuyên gia Bảo mật và tấn công ANM- Hacker mũ trắng
Nhấn vào đây để bắt đầu khóa học

Chuyên gia phân tích, tự động hóa Web iMacros
Nhấn vào đây để bắt đầu khóa học

Xây dựng ứng dụng tự động hóa AutoIT
Nhấn vào đây để bắt đầu khóa học

Khóa đào tạo Hacker và Marketing Facebook từ A - Z
Nhấn vào đây để bắt đầu khóa học

Khóa học: Phân tích và trực quan hóa dữ liệu với Power BI
Nhấn vào đây để bắt đầu khóa học

Khóa học đào tạo Marketing Facebook thông minh
Nhấn vào đây để bắt đầu khóa học

Lập trình Visual Foxpro 9 - Dành cho nhà quản lý và kế toán
Nhấn vào đây để bắt đầu khóa học

Làm chủ xây dựng Game chuyên nghiệp
Nhấn vào đây để bắt đầu khóa học

Trở thành chuyên gia Marketing Facebook thông minh
Nhấn vào đây để bắt đầu khóa học

Kỹ sảo Điện ảnh đỉnh cao với khóa học After Effect
Nhấn vào đây để bắt đầu khóa học

Trở thành chuyên gia Vẽ Đẳng Cấp với khóa học AI
Nhấn vào đây để bắt đầu khóa học

Làm Chủ thiết kế ảnh với Photoshop CC
Nhấn vào đây để bắt đầu khóa học

Dựng Phim Siêu đẳng với Adobe Premiere
Nhấn vào đây để bắt đầu khóa học

Khóa dựng phần mềm quản lý dành cho nhà Quản lý và Kế toán bằng MS ACCESS
Nhấn vào đây để bắt đầu khóa học

Khóa học Machine Learning cơ bản-Khoa học dữ liệu - AI
Nhấn vào đây để bắt đầu khóa học

Khóa học Đào tạo sử dụng Excel Chuyên nghiệp & ứng dụng
Nhấn vào đây để bắt đầu khóa học

Khóa học sử dụng PowerPoint Chuyên nghiệp & ứng dụng
Nhấn vào đây để bắt đầu khóa học

Khóa học xây dựng và quản trị hệ thống đào tạo trực tuyến
Nhấn vào đây để bắt đầu khóa học

Đóng góp nội dung

Gửi ý kiến cho ban biên tập
Gửi thông tin

Thông tin

ĐĂNG KÝ/LIÊN HỆ: