Xem thêm

Sắp xếp dữ liệu trong SQL: ORDER BY - Lệnh tăng giảm trong SQL

Huy Erick
Lệnh ORDER BY trong SQL là một công cụ quan trọng được sử dụng trong câu lệnh SELECT để sắp xếp dữ liệu theo thứ tự tăng hoặc giảm dần. Hãy cùng tìm hiểu và...

Lệnh ORDER BY trong SQL là một công cụ quan trọng được sử dụng trong câu lệnh SELECT để sắp xếp dữ liệu theo thứ tự tăng hoặc giảm dần. Hãy cùng tìm hiểu và áp dụng mệnh đề SQL này thông qua bài viết dưới đây.

Mô tả về ORDER BY SQL

ORDER BY trong SQL được sử dụng để sắp xếp dữ liệu tăng hoặc giảm dần, được thể hiện qua hai lệnh ASC và DESC.

  • Lệnh DESC được sử dụng để sắp xếp dữ liệu theo thứ tự tăng dần. Nó viết tắt từ từ "Descending" trong tiếng Anh, có nghĩa là giảm dần.
  • Lệnh ASC được sử dụng để sắp xếp dữ liệu theo thứ tự giảm dần. Nó viết tắt từ từ "Ascending" trong tiếng Anh, có nghĩa là tăng dần.

Như đã được đề cập trong bài viết "SELECT TOP" trước đó, ORDER BY có thể được sử dụng để sắp xếp trước và lấy ra top n dữ liệu cao nhất hoặc thấp nhất.

Cú pháp của ORDER BY SQL

Một câu lệnh SELECT cơ bản với ORDER BY SQL có cú pháp như sau:

SELECT danh_sach_cot
FROM ten_bang
[WHERE dieu_kien]
[ORDER BY cot1, cot2, .. cotN] [ASC | DESC]

Lưu ý:

  • Nếu bạn không chọn lệnh ASC hoặc DESC, mặc định câu lệnh ORDER BY SQL sẽ sắp xếp dữ liệu theo thứ tự tăng dần, tương tự như ORDER BY ASC.
  • Các cột được chọn để sắp xếp phải nằm trong câu lệnh SELECT.

Cách hoạt động của lệnh này trong câu lệnh SELECT SQL như sau:

  1. Bước 1: Chạy mệnh đề FROM để tìm bảng.
  2. Bước 2: Kiểm tra điều kiện trong mệnh đề WHERE để lọc dữ liệu.
  3. Bước 3: Mệnh đề ORDER BY trong SQL sẽ sắp xếp dữ liệu theo thứ tự tăng hoặc giảm dần.
  4. Bước 4: In ra các cột đã chọn trong mệnh đề SELECT.

Ví dụ về cách sử dụng ORDER BY SQL

Dưới đây là một số ví dụ cơ bản về cách sử dụng mệnh đề ORDER BY SQL.

1. Lọc dữ liệu không sử dụng lệnh ASC và DESC

Ví dụ: Lọc dữ liệu không sử dụng lệnh ASC và DESC.

SELECT product_id, product_name, net_sales
FROM sales
WHERE net_sales > 0
ORDER BY net_sales

Lọc không dùng ASC và DESC

2. Sắp xếp dữ liệu theo thứ tự tăng hoặc giảm

Nếu bạn sử dụng lệnh ASC, kết quả sẽ giống như khi không sử dụng lệnh. Ngược lại, nếu sử dụng lệnh ORDER BY DESC, kết quả trả về sẽ là:

SELECT product_id, product_name, net_sales
FROM sales
WHERE net_sales > 0
ORDER BY net_sales DESC

Sử dụng lệnh ORDER BY DESC trong SQL

3. Sử dụng cả lệnh ASC và DESC

Nếu bạn muốn sắp xếp cột A tăng dần và cột B giảm dần, bạn có thể làm như sau:

SELECT product_id, product_name, net_sales
FROM sales
WHERE net_sales > 0
ORDER BY product_name ASC , net_sales DESC

Sử dụng cả ASC và DESC trong lệnh ORDER BY SQL

4. Sử dụng ký tự đại diện

Bạn có thể xác định vị trí của từng cột trong câu lệnh SELECT bằng cách sử dụng các số từ trái qua phải là 1, 2, .... Ví dụ, số 1 hoặc 2 đại diện cho từng cột thay vì phải ghi lại tên cột một lần nữa.

SELECT product_id, product_name, net_sales
FROM sales
WHERE net_sales > 0
ORDER BY 3 ASC

Dùng ký tự 1 2 3 để đại diện cho từng cột

Trong ví dụ trên, số 3 trong câu lệnh SQL đại diện cho cột net_sales.

Sau khi đọc bài viết này, bạn đã hiểu rõ về lệnh ORDER BY trong SQL. Câu lệnh sắp xếp trong SQL là một công cụ rất hữu ích, vì vậy hãy áp dụng nó trong các tình huống thực tế. Đừng nhầm lẫn giữa lệnh GROUP BY và ORDER BY, bài viết tiếp theo của chúng tôi sẽ giải thích về lệnh GROUP BY, hãy đón chờ nhé.

1