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

Mệnh đề ORDER BY trong SQL Server

Mệnh đề ORDER BY dùng để sắp xếp bản ghi trong tập kết quả trả về của SQL Server. Mệnh đề này chỉ dùng trong câu lệnh SELECT.

Cú pháp mệnh đề ORDER BY

SELECT bieu_thuc
FROM bang
[WHERE dieu_kien]
ORDER BY bieu_thuc [ASC | DESC];

Tham số

bieu_thuc: Cột hoặc giá trị tính toán muốn truy xuất.

bang: Bảng muốn dùng để truy xuất bản ghi. Phải có ít nhất 1 bảng trong mệnh đề FROM.

WHERE dieu_kien: Tùy chọn. Điều kiện phải thỏa mãn, bản ghi mới được chọn.

ASC: Tùy chọn. Sắp xếp tăng dần theo biểu thức (mặc định nếu không chỉ định).

DESC: Tùy chọn. Sắp xếp giảm dần theo biểu thức.

Lưu ý:

Nếu không chọn ASC hoặc DESC trong mệnh đề ORDER BY, kết quả sẽ sắp xếp tăng dần mặc định, tương đương ORDER BY bieu_thuc ASC.

Ví dụ – sắp xếp không dùng ASC/DESC

SELECT ho
FROM nhanvien
WHERE nhanvien_id > 1000
ORDER BY ho;

Kết quả trả về các bản ghi sắp xếp theo trường họ nhân viên, tăng dần, tương đương mệnh đề sau.

SELECT ho
FROM nhanvien
WHERE nhanvien_id > 1000
ORDER BY ho ASC;

Hầu hết lập trình viên bỏ thuộc tính ASC nếu muốn sắp xếp tăng dần.

Ví dụ – sắp xếp giảm dần

SELECT ho
FROM nhanvien
WHERE ten = 'Sarah'
ORDER BY ho DESC;

Kết quả: bản ghi sắp xếp theo họ nhân viên giảm dần.

Ví dụ – sắp xếp theo vị trí tương đối

Bạn có thể dùng mệnh đề ORDER BY trong SQL Server để sắp xếp theo vị trí tương đối trong tập kết quả, nơi trường đầu tiên là 1, tiếp theo 2, v.v.

SELECT ho
FROM nhanvien
WHERE ho = 'Anderson'
ORDER BY 1 DESC;

Trong ví dụ này, kết quả trả về bản ghi trường họ nhân viên giảm dần. Vì họ nhân viên ở vị trí 1 trong tập kết quả, kết quả trên tương đương mệnh đề ORDER BY dưới:

SELECT ho
FROM nhanvien
WHERE ho = 'Anderson'
ORDER BY ho DESC;

Ví dụ – dùng cả ASC và DESC

SELECT ho, ten
FROM nhanvien
WHERE ho = 'Johnson'
ORDER BY ho DESC, ten ASC;

Trong ví dụ trên, bản ghi trả về: họ nhân viên sắp xếp giảm dần và tên nhân viên tăng dần.