Đăng nhập

Bài 10. ORDER BY – Sắp xếp kết quả

Khi làm việc với cơ sở dữ liệu, đôi khi bạn không chỉ cần truy xuất dữ liệu, mà còn cần hiển thị chúng theo thứ tự hợp lý – chẳng hạn như sắp xếp sinh viên theo điểm cao nhất, hoặc đơn hàng theo ngày gần nhất. Câu lệnh ORDER BY chính là công cụ giúp bạn làm điều đó.

Trong bài học này, bạn sẽ học cách sử dụng ORDER BY để sắp xếp kết quả truy vấn theo một hoặc nhiều cột, với thứ tự tăng dần (ASC) hoặc giảm dần (DESC).


Cú pháp của ORDER BY

SELECT column1, column2, ...
FROM table_name
ORDER BY column1 [ASC|DESC], column2 [ASC|DESC], ...;
  • ORDER BY: từ khóa để bắt đầu sắp xếp.
  • ASC: sắp xếp tăng dần (mặc định).
  • DESC: sắp xếp giảm dần.

Ví dụ đơn giản – Sắp xếp tăng dần

SELECT * FROM students
ORDER BY name ASC;

→ Truy vấn trên sẽ liệt kê danh sách học sinh theo thứ tự tên từ A đến Z.


Sắp xếp giảm dần theo một cột

SELECT * FROM students
ORDER BY score DESC;

→ Danh sách học sinh được sắp xếp từ người có điểm cao nhất đến thấp nhất.


Sắp xếp theo nhiều cột

Giả sử bạn muốn sắp xếp theo lớp học, và trong mỗi lớp thì sắp xếp tiếp theo tên học sinh.

SELECT * FROM students
ORDER BY class ASC, name ASC;

→ Học sinh sẽ được nhóm theo lớp, và trong từng lớp, tên được sắp xếp theo thứ tự A-Z.


Kết hợp WHERE và ORDER BY

Bạn có thể kết hợp lọc dữ liệu với sắp xếp:

SELECT * FROM students
WHERE score >= 8
ORDER BY score DESC;

→ Chỉ hiển thị học sinh có điểm từ 8 trở lên, và sắp xếp từ cao xuống thấp.


Lưu ý hiệu năng

  • Khi làm việc với dữ liệu lớn, sắp xếp có thể ảnh hưởng hiệu năng.
  • Để tăng tốc độ, bạn nên cân nhắc tạo index cho cột được sắp xếp nếu cần dùng thường xuyên.

Bài tập gợi ý

  1. Sắp xếp bảng orders theo ngày tạo đơn hàng mới nhất.
  2. Lấy danh sách học sinh có điểm lớn hơn 6, sắp xếp theo điểm giảm dần.

Kết luận

ORDER BY là một công cụ mạnh giúp bạn làm cho kết quả truy vấn trở nên rõ ràng và dễ hiểu hơn. Dù đơn giản, nhưng trong thực tế nó được sử dụng thường xuyên để xây dựng các báo cáo, bảng điều khiển, hay giao diện người dùng.


Bài tiếp theo chúng ta sẽ học cách giới hạn kết quả hiển thị với LIMIT.

Thảo luận

Email của bạn sẽ không được hiển thị công khai. Các trường bắt buộc được đánh dấu *

Đăng ký nhận tin mới

Nhận bài học, tài nguyên và cơ hội việc làm qua email hàng tuần.

Chúng tôi cam kết không spam. Bạn có thể hủy bất cứ lúc nào.