Mệnh đề ORDER BY trong SQL Server
ORDER BY trong SQL Server được dùng để làm gì? Hãy cùng Quantrimang.com tìm hiểu những điều cần biết về Order By SQL nhé!
Lệnh ORDER BY trong SQL Server được dùng để phân loại dữ liệu được tìm nạp theo thứ tự tăng hoặc giảm dần trong một hoặc nhiều cột.
- Mặc định ORDER BY phân loại dữ liệu theo thứ tự tăng dần.
- Bạn có thể dùng từ khóa DESC để phân loại dữ liệu theo thứ tự giảm dần và từ khóa ASC để phân loại theo thứ tự tăng dần.
Cú pháp mệnh đề ORDER BY
SELECT “biểu thức”FROM “bảng”[WHERE “điều kiện”]ORDER BY “biểu thức” [ ASC | DESC ];
Tên các biến và giá trị biến
Biểu thức - cột hoặc giá trị tính toán bạn muốn lấy.
Bảng - bảng mà bạn muốn dùng để lấy bản ghi. Phải có ít nhất 1 bảng trong mệnh đề FROM.
WHERE “điều kiện” - tùy chọn. Các điều kiện phải được đáp ứng thì bản ghi mới được chọn.
ASC - tùy chọn. Lọc kết quả theo thứ tự tăng dần của biểu thức (mặc định nếu không chỉ định rõ).
DESC - tùy chọn. Lọc kết quả theo thứ tự giảm dần của biểu thức.
Lưu ý:
Nếu không chọn cụ thể ASC hay DESC trong mệnh đề ORDER BY thì kết quả sẽ mặc định được sắp xếp theo thứ tự tăng dần, tương đương với ORDER BY “biểu thức” ASC.
Ví dụ - lọc mà không sử dụng thuộc tính ASC/DESC
SELECT hoFROM nhanvienWHERE nhanvien_id > 1000ORDER BY ho;
Kết quả trả về sẽ là các bản ghi được lọc theo trường thông tin là họ của nhân viên, theo thứ tự tăng dần, tương đương với mệnh đề dưới đây.
SELECT hoFROM nhanvienWHERE nhanvien_id > 1000ORDER BY ho ASC;
Hầu hết các lập trình viên đều bỏ thuộc tính ASC nếu họ muốn sắp xếp theo thứ tự tăng dần.
Ví dụ - sắp xếp theo thứ tự giảm dần
SELECT hoFROM nhanvienWHERE ten = ‘Sarah’ORDER BY ho DESC;
Kết quả là các bản ghi lọc theo họ của nhân viên theo thứ tự giảm dần.
Ví dụ - lọc theo vị trí tương đối
Bạn có thể dùng mệnh đề ORDER BY trong SQL Server để lọc theo vị trí tương đối trong bộ kết quả, trong đó trường đầu tiên được đặt là 1, tiếp theo là 2 và cứ thế tiếp tục….
SELECT hoFROM nhanvienWHERE ho = ‘Anderson’ORDER BY 1 DESC;
Trong ví dụ này, kết quả trả về là các bản ghi thuộc trường họ của nhân viên xếp theo thứ tự giảm dần. Vì họ nhân viên nằm ở vị trí số 1 trong bộ kết quả nên kết quả nói trên cũng tương tự như trong mệnh đề ORDER BY dưới đây.
SELECT hoFROM nhanvienWHERE ho = ‘Anderson’ORDER BY ho DESC;
Ví dụ - dùng cả thuộc tính ASC và DESC
SELECT ho, tenFROM nhanvienWHERE ho = ‘Johnson’ORDER BY ho DESC, ten ASC;
Ở ví dụ nói trên, bản ghi trả về sẽ là họ nhân viên sắp xếp theo thứ tự giảm dần và tên nhân viên xếp theo thứ tự tăng dần.
Phân loại theo nhiều cột
Để phân loại theo nhiều cột, tách tên của từng cột bằng dấu phẩy (,).
Cú pháp:
SELECT * FROM table_name ORDER BY column1 ASC|DESC , column2 ASC|DESC
Truy vấn:
CREATE TABLE students (
roll_no INT NOT NULL,
age INT NOT NULL,
name VARCHAR(50) NOT NULL,
address VARCHAR(100) NOT NULL,
phone VARCHAR(20) NOT NULL,
PRIMARY KEY (roll_no)
);
INSERT INTO students (roll_no, age, name, address, phone)
VALUES
(1, 18, 'Shubham Thakur', '123 Main St, Mumbai', '9876543210'),
(2, 19, 'Aman Chopra', '456 Park Ave, Delhi', '9876543211'),
(3, 20, 'Naveen Tulasi', '789 Broadway, Ahmedabad', '9876543212'),
(4, 21, 'Aditya arpan', '246 5th Ave, Kolkata', '9876543213'),
(5, 22, 'Nishant Jain', '369 3rd St, Bengaluru', '9876543214');
Kết quả:
Bài trước: Mệnh đề WHERE trong SQL Server
Bài tiếp: Điều kiện AND trong SQL Server
Bạn nên đọc
Theo Nghị định 147/2024/ND-CP, bạn cần xác thực tài khoản trước khi sử dụng tính năng này. Chúng tôi sẽ gửi mã xác thực qua SMS hoặc Zalo tới số điện thoại mà bạn nhập dưới đây:


Cũ vẫn chất
-
Irelia DTCL: Lên đồ Irelia mùa 11, đồ chuẩn Irelia DTCL
Hôm qua -
Cách kiểm tra dung lượng ổ cứng máy tính
Hôm qua -
Cách sửa lỗi không tải được file lên Google Drive
Hôm qua 1 -
Yandere là gì? Tại sao Yandere lại đáng sợ thế?
Hôm qua -
DLC Boot
-
Cách đặt Google là công cụ tìm kiếm mặc định trên Microsoft Edge
Hôm qua -
Một số thủ thuật tùy biến Taskbar trên Windows 10 hiệu quả
Hôm qua 1 -
Cách đăng ký tài khoản Vk Free Fire
Hôm qua -
5 cách cơ bản để update, cập nhật driver cho máy tính
Hôm qua -
Cách ẩn/bỏ ẩn thanh Taskbar trên Windows 11
Hôm qua