logo

Sắp xếp theo thứ tự ABC trong SQL

Câu trả lời đúng nhất: Để sắp xếp theo thứ tự ABC trong SQL ta sử dụng mệnh đề ORDER BY. ORDER BY được dùng để sắp xếp dữ liệu theo thứ tự tăng dần hoặc theo thứ tự giảm dần trên một hoặc nhiều cột. Một số database sắp xếp các kết quả truy vấn mặc định theo thứ tự tăng dần. Cùng Top lời giải tìm hiểu chi tiết hơn về mệnh đề ORDER BY nhé!


1. Sắp xếp theo thứ tự ABC trong SQL

Để sắp xếp theo thứ tự ABC trong SQL ta sử dụng mệnh đề ORDER BY.

Cú pháp cơ bản của mệnh đề ORDER BY được sử dụng để sắp xếp kết quả theo thứ tự tăng dần hoặc giảm dần như sau:

SELECT danhsach_cot 

FROM ten_bang 

[WHERE dieu_kien] 

[ORDER BY cot1, cot2, .. cotN] [ASC | DESC];

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 cot1, cot2, ..cotN] [ASC].
  • Bạn có thể sử dụng nhiều hơn một cột trong mệnh đề ORDER BY này. Lưu ý rằng bất cứ cột nào bạn đang sử dụng để sắp xếp đều phải có trong danhsach_cot.
Sắp xếp theo thứ tự abc trong sql

>>> Xem thêm: Nút lệnh Sort Descending dùng để sắp xếp theo thứ tự


2. Ví dụ

Giả sử bảng NHANVIEN có các bản ghi như sau:

+----+----------+-----+-----------+----------+

| ID | TEN      |TUOI | DIACHI    | LUONG    |

+----+----------+-----+-----------+----------+

|  1 | Thanh    |  32 | Haiphong  |  2000.00 |

|  2 | Loan     | 25 | Hanoi     |  1500.00 |

|  3 | Nga      | 23 | Hanam     |  2000.00 |

|  4 | Manh     | 25 | Hue       |  6500.00 |

|  5 | Huy      | 27 | Hatinh    |  8500.00 |

|  6 | Cao      | 22 | HCM       |  4500.00 |

|  7 | Lam      | 24 | Haiduong  | 10000.00 |

+----+----------+-----+-----------+----------+

>>> Xem thêm: Sắp xếp dữ liệu trong bảng Word

Ví dụ sau minh họa cách sắp xếp theo thứ tự tăng dần cho TEN và LUONG.

SQL> SELECT * FROM NHANVIEN

ORDER BY TEN, LUONG;

Ví dụ trên trả về kết quả:

+----+----------+-----+-----------+----------+

| ID | TEN      |TUOI | DIACHI    | LUONG    |

+----+----------+-----+-----------+----------+

|  6 | Cao      | 22 | HCM       |  4500.00 |

|  5 | Huy      | 27 | Hatinh    |  8500.00 |

|  7 | Lam      | 24 | Haiduong  | 10000.00 |

|  2 | Loan     | 25 | Hanoi     |  1500.00 |

|  4 | Manh     | 25 | Hue       |  6500.00 |

|  3 | Nga      | 23 | Hanam     |  2000.00 |

|  1 | Thanh    |  32 | Haiphong  |  2000.00 |

+----+----------+-----+-----------+----------+

Khối lệnh sau sẽ sắp xếp kết quả theo thứ tự giảm dần bởi trường TEN.

SQL> SELECT * FROM NHANVIEN

ORDER BY TEN DESC;

Kết quả trả về là:

+----+----------+-----+-----------+----------+

| ID | TEN      |TUOI | DIACHI    | LUONG    |

+----+----------+-----+-----------+----------+

|  1 | Thanh    |  32 | Haiphong  |  2000.00 |

|  3 | Nga      | 23 | Hanam     |  2000.00 |

|  4 | Manh     | 25 | Hue       |  6500.00 |

|  2 | Loan     | 25 | Hanoi     |  1500.00 |

|  7 | Lam      | 24 | Haiduong  | 10000.00 |

|  5 | Huy      | 27 | Hatinh    |  8500.00 |

|  6 | Cao      | 22 | HCM       |  4500.00 |

+----+----------+-----+-----------+----------+

Để lấy các hàng với thứ tự ưu tiên riêng, truy vấn SELECT sẽ như sau:

SQL> SELECT * FROM NHANVIEN

 ORDER BY (CASE DIACHI

 WHEN 'Hanoi' THEN 1

 WHEN 'Haiduong' THEN 2

 WHEN 'HCM' THEN 3

 ELSE 100 END) ASC, DIACHI DESC;

Kết quả trả về là:

+----+----------+-----+-----------+----------+

| ID | TEN      |TUOI | DIACHI    | LUONG    |

+----+----------+-----+-----------+----------+

|  2 | Loan     | 25 | Hanoi     |  1500.00 |

|  7 | Lam      | 24 | Haiduong  | 10000.00 |

|  6 | Cao      | 22 | HCM       |  4500.00 |

|  1 | Thanh    |  32 | Haiphong  |  2000.00 |

|  3 | Nga      | 23 | Hanam     |  2000.00 |

|  5 | Huy      | 27 | Hatinh    |  8500.00 |

|  4 | Manh     | 25 | Hue       |  6500.00 |

+----+----------+-----+-----------+----------+

Đầu tiên, ta có thể sắp xếp nhân viên theo DIACHI với thứ tự của riêng mình, sau đó, các DIACHI còn lại sẽ được sắp xếp tự nhiên theo thứ tự đảo ngược của bảng chữ cái.

------------------------------------

Như vậy, chúng ta đã cùng nhau đi tìm hiểu xong về sắp xếp theo thứ tự ABC trong SQL, Top lời giải chúc các bạn tiếp thu được nhiều kiến thức thật bổ ích và dễ hiểu!

 

icon-date
Xuất bản : 20/06/2022 - Cập nhật : 20/06/2022