Câu lệnh SELECT có mệnh đề sắp xếp dữ liệu ORDER BY

Làm thế nào để sử dụng câu lệnh SELECT có mệnh đề sắp xếp dữ liệu ORDER BY

  • Câu lệnh SELECT ... ORDER BY dùng khi bạn có mong muốn sắp xếp các dòng dữ liệu (records) theo thứ tự tăng dần (ASCENDING) hay giám dần (DESCENDING) một số cột (column) nhất định nào đó.
  • Mệnh đề ORDER BY có thể sắp xếp thứ tự của 1 hay nhiều cột.

Cú pháp Câu lệnh SQL SELECT ... ORDER BY (SQL SELECT ... ORDER BY syntax)

Cú pháp sử dụng mệnh đề ORDER BY với câu lệnh SELECT

SELECT column1, column2, column3, ...
FROM tableName
WHERE condition1
   AND/OR condition2...
ORDER BY column1 ASC, column2 DESC, ...

Ví dụ 1: Lấy/Truy vấn tất cả các cột và các dòng dữ liệu (records) có trong table `shop_suppliers` thỏa điều kiện: id >= 5 và id <= 10, sau đó sắp xếp thứ tự cột supplier_name theo thứ tự bảng chữ cái Z-A (tức là giảm dần - DESCENDING)

-- SELECT dữ liệu tất cả các cột (column) và các dòng dữ liệu (records) có trong table `shop_suppliers` thỏa điều kiện:
-- id >= 5 và id <= 10
-- Sau đó, sắp xếp dữ liêu theo thứ tự Giảm dần của cột `supplier_name`
-- Lưu ý: 
-- 1. Tên bảng (table), và tên cột (column) nên được bao bọc trong cặp dấu `` để đảm bảo câu lệnh truy vấn được thực thi một cách đúng đắn (nếu tên bảng (table) có trùng với các từ khóa trong MySQL vẫn có thể thực thi được).
-- Ví dụ: `shop_suppliers`
SELECT *
FROM `shop_suppliers`
WHERE id >= 5 AND id <= 10
ORDER BY `supplier_name` DESC;

Ví dụ 2: SELECT dữ liệu tất cả các cột (column) và tất cả các dòng dữ liệu (records) có trong table `shop_products`, Sau đó, sắp xếp dữ liệu theo thứ tự ABC (Tăng dần - ASCENDING) của Tên Sản phẩm

-- SELECT dữ liệu tất cả các cột (column) và tất cả các dòng dữ liệu (records) có trong table `shop_products`
-- Sau đó, sắp xếp dữ liệu theo thứ tự ABC (Tăng dần - ASCENDING) của Tên Sản phẩm
-- Lưu ý: 
-- 1. Tên bảng (table), và tên cột (column) nên được bao bọc trong cặp dấu `` để đảm bảo câu lệnh truy vấn được thực thi một cách đúng đắn (nếu tên bảng (table) có trùng với các từ khóa trong MySQL vẫn có thể thực thi được).
-- Ví dụ: `shop_products`
-- 2. Nếu không để ASC hay DESC, MySQL sẽ mặc định là sắp xếp theo thử tự Tăng dần (ASC)
SELECT *
FROM `shop_products`
ORDER BY `product_name` ASC;