Mệnh đề ORDER BY trong SQL

Mệnh đề ORDER BY trong SQL được sử dụng trong lệnh SELECT để sắp xếp các kết quả theo thứ tự tăng dần hoặc giảm dần. Oracle sắp xếp các kết quả truy vấn theo thứ tự tăng dần theo mặc định.

Cú pháp mệnh đề ORDER BY trong SQL để sắp xếp dữ liệu

SELECT column-list

FROM table_name [WHERE condition]

[ORDER BY column1 [, column2, .. columnN] [DESC]];

Ví dụ mệnh đề ORDER BY trong SQL

Dưới đây là bảng dữ liệu nhân viên:

Nếu muốn sắp xếp bảng danh sách nhân viên theo mức lương , lệnh ORDER BY trong SQL được viết như sau:

SELECT name, salary FROM employee ORDER BY salary;

Đầu ra có dạng như dưới đây:

Truy vấn đầu tiên sắp xếp kết quả theo tên và hiển thị kết quả.

Ngoài ra ban có thể sử dụng nhiều cột trong mệnh đề ORDER BY trong SQL.

Nếu muốn sắp xếp bảng nhân viên theo tên và lương, truy vấn ORDER BY trong SQL là:

SELECT name, salary FROM employee ORDER BY name, salary;

Đầu ra có dạng như dưới đây:

Lưu ý với mệnh đề ORDER BY trong SQL

Các cột được chỉ định trong mệnh đề ORDER BY là một trong số các cột được chọn trong danh sách cột SELECT.

Bạn có thể xác định vị trí của một cột trong danh sách SELECT để đại diện cho các cột trong mệnh đề ORDER BY, thay vì phải viết tên cột.

Các truy vấn trên cũng có thể được viết dưới dạng:

SELECT name, salary FROM employee ORDER BY 1, 2;

Mặc định mệnh đề ORDER BY trong SQL sẽ sắp xếp dữ liệu theo thứ tự tăng dần. Nếu muốn sắp xếp theo thứ tự giảm dần, bạn phải chỉ định rõ ràng như trong truy vấn dưới đây:

SELECT name, salary

FROM employee

ORDER BY name, salary DESC;

Truy vấn ORDER BY trong SQL trên chỉ sắp xếp cột lương theo thứ tự giảm dần và cột tên theo thứ tự tăng dần.

Nếu muốn sắp xếp nhân viên theo tên và mức lương theo thứ tự giảm dần, truy vấn ORDER BY trong SQL được viết như sau:

SELECT name, salary

FROM employee

ORDER BY name DESC, salary DESC

Sử dụng biểu thức trong mệnh đề ORDER BY trong SQL

Các biểu thức trong mệnh đề ORDER BY trong SQL được sử dụng trong lệnh SELECT.

Ví dụ: Nếu muốn hiển thị tất cả tên nhân viên, mức lương hiện tại và chỉ tăng 20% lương cho những nhân viên có mức lương trên 30000 theo thứ tự giảm dần, lệnh SELECT sẽ được viết như dưới đây:

SELECT name, salary, salary*1.2 AS new_salary

FROM employee

WHERE salary*1.2 > 30000

ORDER BY new_salary DESC;

Đầu ra của truy vấn trên như dưới đây:

Trên đây Taimienphi.vn vừa giới thiệu cho bạn về mệnh đề ORDER BY trong SQL. Trong bài viết tiếp theo, Taimienphi.vn sẽ giới thiệu tiếp cho bạn về VIEW, GRANT, ... trong SQL., và đặc biệt là Lệnh CREATE trong SQL, mời các bạn theo dõi.

Ngoài ra, bạn có thể tìm hiểu thêm một số bài viết liên quan đến SQL, SQL Server như cách tạo, kiểm tra và thayđổi cột Identity trên Microsoft SQL Server để nắm thêm kiến thức về ngôn ngữ cũng như môi trường quản trị dữ liệu này nhé. Chúc các bạn thành công !

Để tìm hiểu rõ hơn về mệnh đề ORDER BY trong SQL, bạn đọc cùng tham khảo bài viết dưới đây của Taimienphi.vn. Ngoài ra bạn đọc có thể tham khảo một số bài viết trước của Taimienphi.vn để tìm hiểu thêm thông tin về mệnh đề WHERE, GROUP BY, ... trong SQL nhé.
Mệnh đề HAVING trong SQL
Tìm hiểu Alias trong SQL
Toán tử NOT IN trong SQL
Toán tử so sánh LIKE, IN trong SQL
Index trong SQL
Lệnh JOINS trong SQL

ĐỌC NHIỀU