Bỏ qua đến nội dung
Bỏ qua điều hướng
Đăng nhập
MT.NET.VN

Viewbh Menh De Order By Trong Sql2023 04 12 11 10 40

Tìm kiếm
Thuộc khóa học · baihoc_sub = 50

MS SQL ( Basic to Pro )

Bài 1 / 1 trong khóa học.

Xem khóa học
100%
Bài trướcĐây là bài đầu tiên Bài sauĐây là bài cuối cùng
MT LEARNING · LESSON

Mệnh đề ORDER BY trong SQL

Mệnh đề ORDER BY trong SQL

Mệnh đề ORDER BY trong SQL

Mệnh đề ORDER BY trong SQL



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, dựa trên một hoặc nhiều cột. Một số cơ sở dữ liệu sắp xếp các kết quả truy vấn theo thứ tự tăng dần theo mặc định. Lệnh ASC được sử dụng để sắp xếp tăng dần và DESC được sử dụng để sắp xếp giảm dần.

Nội dung chính

Cú pháp

Cú pháp cơ bản của mệnh đề ORDER BY như sau:

 SELECT column-list  FROM table_name  [WHERE condition]  [ORDER BY column1, column2, .. columnN] [ASC | DESC]; 

Bạn có thể sử dụng nhiều hơn một cột trong mệnh đề ORDER BY. Đảm bảo rằng bất kỳ cột bạn đang sử dụng để sắp xếp cột đó phải nằm trong danh sách cột.



Ví dụ

Giả sử bảng CUSTOMERS có các bản ghi sau đây:

 +----+----------+-----+-----------+----------+ | ID | NAME     | AGE | ADDRESS   | SALARY   | +----+----------+-----+-----------+----------+ |  1 | Ha Anh   |  32 | Da Nang   |  2000.00 | |  2 | Van Ha   |  25 | Ha Noi    |  1500.00 | |  3 | Vu Bang  |  23 | Vinh      |  2000.00 | |  4 | Thu Minh |  25 | Ha Noi    |  6500.00 | |  5 | Hai An   |  27 | Ha Noi    |  8500.00 | |  6 | Hoang    |  22 | Ha Noi    |  4500.00 | |  7 | Binh     |  24 | Ha Noi    | 10000.00 | +----+----------+-----+-----------+----------+ 

Khối lệnh sau đây sẽ sắp xếp kết quả theo thứ tự tăng dần bởi các trường NAME và SALARY:

 SELECT * FROM CUSTOMERS    ORDER BY NAME, SALARY; 

Kết quả:

 +----+----------+-----+-----------+----------+ | ID | NAME     | AGE | ADDRESS   | SALARY   | +----+----------+-----+-----------+----------+ |  7 | Binh     |  24 | Ha Noi    | 10000.00 | |  1 | Ha Anh   |  32 | Da Nang   |  2000.00 | |  5 | Hai An   |  27 | Ha Noi    |  8500.00 | |  6 | Hoang    |  22 | Ha Noi    |  4500.00 | |  4 | Thu Minh |  25 | Ha Noi    |  6500.00 | |  2 | Van Ha   |  25 | Ha Noi    |  1500.00 | |  3 | Vu Bang  |  23 | Vinh      |  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 NAME.

 SELECT * FROM CUSTOMERS    ORDER BY NAME DESC; 

Kết quả:

 +----+----------+-----+-----------+----------+ | ID | NAME     | AGE | ADDRESS   | SALARY   | +----+----------+-----+-----------+----------+ |  3 | Vu Bang  |  23 | Vinh      |  2000.00 | |  2 | Van Ha   |  25 | Ha Noi    |  1500.00 | |  4 | Thu Minh |  25 | Ha Noi    |  6500.00 | |  6 | Hoang    |  22 | Ha Noi    |  4500.00 | |  5 | Hai An   |  27 | Ha Noi    |  8500.00 | |  1 | Ha Anh   |  32 | Da Nang   |  2000.00 | |  7 | Binh     |  24 | Ha Noi    | 10000.00 | +----+----------+-----+-----------+----------+ 

Để sắp xếp các hàng với thứ tự ưu tiên của riêng mình, khối lệnh sau sắp xếp kết quả theo thứ tự tăng dần của trường ADDRESS và theo thứ tự giảm dần của trường SALARY.

 SELECT * FROM CUSTOMERS    ORDER BY (CASE ADDRESS    WHEN 'Ha Noi'   THEN 1    WHEN 'Da Nang'   THEN 2    ELSE 10 END) ASC, ADDRESS DESC; 

Kết quả:

 +----+----------+-----+-----------+----------+ | ID | NAME     | AGE | ADDRESS   | SALARY   | +----+----------+-----+-----------+----------+ |  2 | Van Ha   |  25 | Ha Noi    |  1500.00 | |  4 | Thu Minh |  25 | Ha Noi    |  6500.00 | |  5 | Hai An   |  27 | Ha Noi    |  8500.00 | |  6 | Hoang    |  22 | Ha Noi    |  4500.00 | |  7 | Binh     |  24 | Ha Noi    | 10000.00 | |  1 | Ha Anh   |  32 | Da Nang   |  2000.00 | |  3 | Vu Bang  |  23 | Vinh      |  2000.00 | +----+----------+-----+-----------+----------+ 

Kết quả cho thấy các bản ghi được sắp xếp theo thứ tự tăng dần của trường ADDRESS sau đó mới đến thứ giảm dần của trường SALARY.

Bài tiếp theo: Ràng buộc trong SQL


ĐÁNH GIÁ NỘI DUNG 0.0/5 0 lượt đánh giá
Bạn thấy nội dung này thế nào?
Mỗi trình duyệt/tài khoản được chấm lại sau 24 giờ.
Báo bài lỗiGiúp MT.Net.VN phát hiện nội dung cần kiểm tra
Báo lỗi được ghi vào hệ thống để Admin kiểm tra. Không dùng chức năng này để gửi hỗ trợ cá nhân.

Bài học liên quan

Các bài khác có cùng khóa học cha theo baihoc_sub.

Home Dịch vụ Khóa học CPanel