Computer >> Hướng Dẫn Máy Tính >  >> Lập Trình >> SQL

SQL ORDER BY: Hướng dẫn đầy đủ

Câu lệnh SQL ORDER BY xác định thứ tự các bản ghi được trả về bởi truy vấn. Bạn có thể trả về bản ghi theo thứ tự tăng dần hoặc giảm dần theo giá trị của bất kỳ cột nào trong bảng.

Việc sắp xếp kết quả truy vấn giúp dễ dàng tìm thấy bản ghi chính xác bạn đang tìm kiếm.

Ví dụ: bạn muốn biết nhân viên nào giành nhiều giải "nhân viên tháng" nhất. Bạn có thể muốn sắp xếp truy vấn theo điểm dữ liệu đó để hiển thị nhân viên giành nhiều giải nhất lên đầu.

Câu lệnh SQL ORDER BY sắp xếp kết quả truy vấn tùy thuộc vào điều kiện của bạn. Trong hướng dẫn này, chúng ta sẽ thảo luận cách dùng câu lệnh ORDER BY. Chúng ta sẽ đi qua ví dụ để giúp bạn làm chủ từ khóa này.

SQL ORDER BY

Từ khóa SQL ORDER BY sắp xếp kết quả truy vấn. Bạn có thể sắp xếp kết quả theo thứ tự tăng dần (ascending) hoặc giảm dần (descending) theo một cột hoặc tập cột cụ thể.

Cú pháp truy vấn ORDER BY:

SELECT name FROM employees ORDER BY name, joined ASC;

Sau câu lệnh SQL SELECT, chỉ định tên cột muốn lấy. Sau đó chỉ định muốn lấy dữ liệu từ bảng employees.

Câu lệnh ORDER BY sắp xếp truy vấn theo cột name và joined theo thứ tự giảm dần. Cơ sở dữ liệu trước tiên sắp xếp theo tên giảm dần.

SQL mặc định sắp xếp cột theo thứ tự tăng dần. Bạn có thể sắp xếp cột tăng dần hoặc giảm dần dùng mệnh đề SQL ORDER BY.

Hai thứ tự sắp xếp có thể:

  • ASC: Tăng dần (mặc định).
  • DESC: Giảm dần.

Bạn có thể dùng danh sách cột để sắp xếp nhiều cột theo thứ tự khác nhau:

SELECT name FROM employees ORDER BY name ASC, joined DESC;

Truy vấn này sắp xếp bảng theo name tăng dần. Sau đó sắp xếp theo joined giảm dần.

Ví dụ ORDER BY SQL

Chạy ví dụ truy vấn minh họa toán tử ORDER BY. Muốn lấy danh sách tên tất cả nhân viên và chức danh. Mục tiêu: sắp xếp danh sách theo thứ tự bảng chữ cái theo tên nhân viên.

Để lấy dữ liệu này, dùng truy vấn:

SELECT name, title FROM employees ORDER BY name ASC;

Truy vấn sắp xếp tập kết quả. Kết quả theo thứ tự tăng dần:

nametitle
AlexisSales Associate
GeoffSenior Sales Associate
HannahSales Associate
JonahVice President of Sales
LukeSales Associate
MikeSales Associate

Nếu muốn sắp xếp theo thứ tự bảng chữ cái ngược, thay ASC bằng DESC.

Bạn cũng có thể sắp xếp theo nhiều cột. Hữu ích khi có giá trị trùng lặp trong bảng muốn sắp xếp thêm.

Ví dụ: muốn tìm ai làm việc ít thời gian nhất, theo thứ tự chức danh. Dùng truy vấn:

SELECT name, title, hired_date FROM employees ORDER BY title, hired_date DESC;

Câu lệnh ORDER BY sắp xếp kết quả truy vấn. Kết quả:

nametitlehired_date
EmmaMarketing Director2010-03-19
AlexisSales Associate2014-04-01
HannahSales Associate2011-09-30
MikeSales Associate2010-03-19
LukeSales Associate2009-12-03
GeoffSenior Sales Associate2012-03-17
JonahVice President of Sales2010-07-23

(7 hàng)

Như bạn thấy, bảng được sắp xếp theo cả chức danh và ngày tuyển dụng. Câu lệnh ORDER BY sắp xếp bản ghi thành công.

Sales Associate mới tuyển gần nhất là Alexis. Sales Associate làm việc lâu nhất là Luke. Chúng ta cũng thấy ngày tuyển dụng của mọi nhân viên khác, theo thứ tự chức danh.

Kết luận

Câu lệnh SQL ORDER BY thay đổi thứ tự bản ghi trả về bởi truy vấn. Bạn có thể sắp xếp truy vấn tăng dần hoặc giảm dần. Mặc định là truy vấn trả về dữ liệu theo thứ tự tăng dần.

Bạn muốn tìm hiểu thêm về SQL? Đọc hướng dẫn How to Learn SQL của chúng tôi. Bạn sẽ tìm thấy mẹo hàng đầu về cách học SQL. Chúng tôi đã chuẩn bị danh sách tài nguyên học tập giúp bạn xây dựng kỹ năng cần thiết.