1. Vấnđề
Trong quá trình truy vấn dữ liệu và mục tiêu của yêu cầu là bạn cần sắp xếp dữ liệu theo nhiều điều kiện khác nhau. Ví dụ như tìm ra tất cả nhân viên có mức lương từ 5 triệu đến 10 triệu và sắp xếp theo độ tuổi giảm dần và tên theo thứ tự alpha B (nghĩa là tên sắp xếp từ A à Z). Công thức cho việc giải quyết vấn đề trên theo câu lệnh truy vấn
1
| SELECT <col1, col2, col3, ….> FROM <table name> WHERE <col1 = value1,…> ORDER BY col1 ASC, col2 DESC |
2. Coding
Bây giờ chúng ta áp dụng truy vấn dữ liệu và sắp xếp dữ liệu theo nhiều tiêu chí ở nhiều cột khác nhau. Hãy tìm ra tất cả những sản phẩm có ký tự bắtđầu là chữ “C” và sắp xếp theo thứ tự tăng dần của UnitPrice và giảm dần của CategoryID.
Phân tích ví dụ trên ta thấygồm có hai yêu cầu là
- Thứ nhất, chọn ra những sản phẩm bắt đầu bằng những ký tự là chữ “C” tức là những sản phẩm như “chai”, “chang”,…tức là chúng ta sẽ sử dụng mệnh đề WHERE và toán tử “Like” để giải quyết vấn đề này
- Thứ hai, sau khi có kết quả ta sắp xếp cột UnitPrice tăng dần sử dụng Order By CategoryID ASC và giảm dần của CategoryID tức là Order By CategoryID
Coding sẽ được cài đặt như sau
1
2
3
4
5
6
7
| SELECT[ProductID] ,[ProductName] ,[CategoryID] ,[UnitPrice] FROM [Products] WHERESubstring(ProductName,0,2)LIKE '%c%' ORDERBY UnitPrice, CategoryID DESC |
Giải thích
Ở trên dùng ta dùng câu lệnh SELECT để chọn ra 4 cột dữ liệu từ bảng Products. Và tiếp tục ta sử dung function (hàm) Substring để lọc ra những giá trị có một ký tự ban đầu và dùng thuật toán Like để lọc ra những giá trị có ký tự là chữ “C”. Dữ liệu được sắp xếp tăng dần theo UnitPrice mặc định là ASC (nếu không viết rõ ràng) và DESC cho CategoryID đã được viết rõ ràng
Kết quả ta có được là 9 dòng dữ liệu thỏa mãn điều kiện trên
Comments[ 0 ]
Đăng nhận xét