Bài Giảng 18: Conditional Expression trong SQL – Phần 2
Mục Tiêu Bài Giảng
Phần tiếp theo này sẽ tập trung vào việc sử dụng các biểu thức điều kiện nâng cao hơn trong SQL, đặc biệt là CASE, để giải quyết các tình huống phức tạp hơn trong phân tích dữ liệu. Sẽ có nhiều ví dụ minh họa cụ thể và chi tiết để giúp học viên nắm vững cách áp dụng.
Nâng Cao với CASE Statement
- Sử dụng
CASEđể tạo ra các phân loại phức tạp và xử lý điều kiện đa tầng.
Ví dụ Minh Họa
CASE Phức Tạp trong Phân Tích Dữ Liệu
Phân loại doanh thu theo mức giá và số lượng tồn kho:
SELECT product_name, CASE WHEN price > 500 AND quantity < 50 THEN 'High Price, Low Stock' WHEN price < 500 AND quantity > 50 THEN 'Low Price, High Stock' ELSE 'Other Category' END AS category FROM products;
Tùy Chỉnh Sắp Xếp
Sắp xếp khách hàng dựa trên độ tuổi và giới tính:
SELECT * FROM customers ORDER BY CASE WHEN gender = 'Female' AND age < 30 THEN 1 WHEN gender = 'Male' AND age < 30 THEN 2 ELSE 3 END;
Kết Hợp CASE và Aggregation Function
Tính tổng doanh thu dựa trên phân loại độ tuổi của khách hàng:
SELECT CASE WHEN age BETWEEN 18 AND 25 THEN '18-25' WHEN age BETWEEN 26 AND 35 THEN '26-35' ELSE 'Above 35' END AS age_group, SUM(total_purchase) AS total_sales FROM customers GROUP BY age_group;
CASE trong WHERE Clause
Lọc sản phẩm dựa trên phân loại phức tạp:
SELECT * FROM products WHERE CASE WHEN category = 'Electronics' AND price > 500 THEN TRUE WHEN category = 'Clothing' AND price < 100 THEN TRUE ELSE FALSE END;
Thực Hành và Bài Tập
Phân Tích Dữ Liệu Bán Hàng
- Sử dụng
CASEđể phân loại và phân tích doanh thu theo mùa vụ của sản phẩm.
- Sử dụng
Phân Loại Dữ Liệu Khách Hàng
- Tạo phân loại độ tuổi và giới tính cho khách hàng, sau đó tính số lượng khách hàng trong mỗi nhóm.
Kết Luận
Sử dụng biểu thức điều kiện như CASE trong các tình huống phức tạp giúp xử lý dữ liệu một cách linh hoạt, chính xác và cung cấp cái nhìn sâu sắc hơn trong phân tích dữ liệu. Phần này của bài giảng cung cấp cách tiếp cận nâng cao hơn, giúp học viên không chỉ giải quyết các vấn đề cụ thể mà còn phát triển kỹ năng sáng tạo trong việc xử lý và phân tích dữ liệu.