- Chuyên mục khác :
- Git cơ bản và nâng cao
- ·
- MySQL cơ bản và nâng cao
- ·
- MongoDB cơ bản và nâng cao
- ·
- SQL cơ bản và nâng cao
- ·
- Linux cơ bản và nâng cao
- Cơ bản về SQL
- Học SQL cơ bản và nâng cao
- SQL là gì
- Các khái niệm RDBMS trong SQL
- RDBMS Database trong SQL
- Cú pháp SQL cơ bản
- Kiểu dữ liệu trong SQL
- Toán tử trong SQL
- Biểu thức trong SQL
- SQL Database
- Lệnh CREATE DATABASE trong SQL
- Lệnh DROP Database trong SQL
- Lệnh SELECT DATABASE trong SQL
- Lệnh RENAME DATABASE trong SQL
- SQL Table
- CREATE Table trong SQL - Tạo bảng trong SQL
- Lệnh DROP Table trong SQL
- DELETE trong SQL
- Lệnh RENAME Table trong SQL
- Lệnh TRUNCATE TABLE trong SQL
- Lệnh ALTER TABLE trong SQL
- Mô phỏng bảng trong SQL
- Bảng tạm (Temporary Table) trong SQL
- Nhóm lệnh thao tác cơ bản
- UPDATE trong SQL
- Truy vấn INSERT trong SQL
- Truy vấn SELECT trong SQL
- Mệnh đề ORDER BY trong SQL
- Mệnh đề GROUP BY trong SQL
- Từ khóa DISTINCT trong SQL
- Sắp xếp kết quả trong SQL
- Mệnh đề trong SQL
- Mệnh đề WHERE trong SQL
- Toán tử liên hợp AND và OR trong SQL
- Mệnh đề With trong SQL
- Mệnh đề LIKE trong SQL
- Mệnh đề TOP, LIMIT, ROWNUM trong SQL
- Hoạt động SQL nâng cao
- Mệnh đề UNION trong SQL
- Giá trị NULL trong SQL
- Alias trong SQL
- Chỉ mục (Index) trong SQL
- Sử dụng View trong SQL
- Mệnh đề HAVING trong SQL
- Transaction trong SQL
- Toán tử wildcard trong SQL
- Truy vấn con trong SQL
- Sử dụng Sequence trong SQL
- Xử lý bản sao trong SQL (DISTINCT)
- Injection trong SQL
- Ràng buộc trong SQL
- Ràng buộc (Constraint) trong SQL
- Ràng buộc NOT NULL trong SQL
- Ràng buộc DEFAULT trong SQL
- Ràng buộc UNIQUE trong SQL
- Ràng buộc PRIMARY KEY trong SQL
- Ràng buộc FOREIGN KEY trong SQL
- Ràng buộc CHECK trong SQL
- Ràng buộc INDEX trong SQL
- SQL Join
- Mệnh đề JOINS trong SQL
- INNER JOIN trong SQL
- LEFT JOIN trong SQL
- RIGHT JOIN trong SQL
- FULL JOIN trong SQL
- SELF JOIN trong SQL
- CARTESIAN JOIN hoặc CROSS JOIN trong SQL
- Hàm trong SQL
- Hàm hữu ích trong SQL
- Hàm xử lý Date và Time trong SQL
- Hàm xử lý số trong SQL
- Hàm xử lý chuỗi trong SQL
- Tài liệu SQL tham khảo
- First Normal Form (1NF) trong SQL
- Second Normal Form (2NF) trong SQL
- Third Normal Form (3NF) trong SQL
- Tuning DB trong SQL
- Tài liệu SQL tham khảo
Mệnh đề ORDER BY trong SQL được sử dụng để sắp xếp dữ liệu theo thứ tự tăng dần hoặc giảm dần, trên một hoặc nhiều cột. Một số Database sắp xếp kết quả truy vấn theo thứ tự tăng dần theo mặc định.
Cú pháp
Cú pháp cơ bản của mệnh đề ORDER BY được sử dụng để sắp xếp dữ liệu theo thứ tự tăng dần hoặc giảm dần là như sau (ASC là sắp xếp theo thứ tự tăng dần và DESC là giảm dần):
SELECT danh_sach_cot FROM ten_bang [WHERE dieu_kien] [ORDER BY cot1, cot2, .. cotN] [ASC | DESC];
Bạn có thể sử dụng nhiều hơn một cột trong mệnh đề ORDER BY này. Đảm bảo rằng bất cứ cột nào bạn đang sử dụng để sắp xếp, thì nó nên có trong danh_sach_cot.
Ví dụ
Bảng SINHVIEN có các bản ghi sau:
+----+---------+-----+-----------+--------+ | ID | TEN | TUOI| KHOAHOC | HOCPHI | +----+---------+-----+-----------+---------+ | 1 | Hoang | 21 | CNTT | 4 | | 2 | Viet | 19 | DTVT | 3 | | 3 | Thanh | 18 | KTDN | 4 | | 4 | Nhan | 19 | CK | 4.5 | | 5 | Huong | 20 | TCNH | 5 | +----+---------+-----+-----------+---------+
Ví dụ sau sẽ sắp xếp kết quả theo thứ tự tăng dần cho TEN và HOCPHI.
SQL> SELECT * FROM SINHVIEN ORDER BY TEN, HOCPHI;
Ví dụ trên sẽ cho kết quả:
+----+----------+-----+-----------+----------+ | ID | TEN | TUOI | KHOAHOC | HOCPHI | +----+----------+-----+-----------+----------+ | 1 | Hoang | 21 | CNTT | 4 | | 5 | Huong | 20 | TCNH | 5 | | 4 | Nhan | 19 | CK | 4.5 | | 3 | Thanh | 18 | KTDN | 4 | | 2 | Viet | 19 | DTVT | 3 | +----+----------+-----+-----------+----------+
Ví dụ dưới đây sắp xếp kết quả theo thứ tự giảm dần cho TEN:
SQL> SELECT * FROM SINHVIEN ORDER BY TEN DESC;
Ví dụ trên sẽ cho kết quả:
+----+----------+-----+-----------+----------+ | ID | TEN | TUOI | KHOAHOC | HOCPHI | +----+----------+-----+-----------+----------+ | 2 | Viet | 19 | DTVT | 3 | | 3 | Thanh | 18 | KTDN | 4 | | 4 | Nhan | 19 | CK | 4.5 | | 5 | Huong | 20 | TCNH | 5 | | 1 | Hoang | 21 | CNTT | 4 | +----+----------+-----+-----------+----------+
Để 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 SINHVIEN ORDER BY (CASE KHOAHOC WHEN 'TCNH' THEN 1 WHEN 'KTDN' THEN 2 WHEN 'CNTT' THEN 3 ELSE 100 END) ASC, KHOAHOC DESC;
Ví dụ trên sẽ cho kết quả:
+----+----------+-----+-----------+----------+ | ID | TEN | TUOI | KHOAHOC | HOCPHI | +----+----------+-----+-----------+----------+ | 5 | Huong | 20 | TCNH | 5 | | 3 | Thanh | 18 | KTDN | 4 | | 1 | Hoang | 21 | CNTT | 4 | | 2 | Viet | 19 | DTVT | 3 | | 4 | Nhan | 19 | CK | 4.5 | +----+----------+-----+-----------+----------+
Đầu tiên, sẽ sắp xếp sinh viên theo KHOAHOC theo thứ tự của riêng bạn, sau đó, các KHOAHOC còn lại sẽ được sắp xếp thứ tự tự nhiên. Các KHOAHOC còn lại này cũng sẽ được sắp xếp theo thứ tự chữ cái đảo ngược.
Bình luận (0)