Hiểu về CASE trong PostgreSQL
CASE trong PostgreSQL là một biểu thức điều kiện cho phép bạn thực hiện lựa chọn giữa nhiều giá trị khác nhau. Nó hoạt động giống như câu lệnh if-else trong các ngôn ngữ lập trình khác. Với CASE, bạn có thể đánh giá nhiều điều kiện và trả về giá trị tương ứng dựa trên kết quả.
Cú pháp của CASE
Có hai cách để sử dụng CASE trong PostgreSQL: CASE đơn giản và CASE tìm kiếm.
1. CASE đơn giản
CASE biểu_thức WHEN giá_trị_1 THEN kết_quả_1 WHEN giá_trị_2 THEN kết_quả_2 ... ELSE kết_quả_khác END
2. CASE tìm kiếm
CASE WHEN điều_kiện_1 THEN kết_quả_1 WHEN điều_kiện_2 THEN kết_quả_2 ... ELSE kết_quả_khác END
Ví dụ về CASE trong PostgreSQL
Dưới đây là một số ví dụ minh họa cho việc sử dụng CASE trong PostgreSQL.
Ví dụ 1: Sử dụng CASE đơn giản
SELECT tên, CASE loại_khách_hàng WHEN 'VIP' THEN 'Khách hàng rất quan trọng' WHEN 'Thường' THEN 'Khách hàng thông thường' ELSE 'Khách hàng chưa xác định' END AS loại_khách FROM khách_hàng;
Trong ví dụ này, chúng ta xác định loại khách hàng dựa trên giá trị của trường loại_khách_hàng.
Ví dụ 2: Sử dụng CASE tìm kiếm
SELECT tên_sản_phẩm, giá, CASE WHEN giá < 100 THEN 'Rẻ' WHEN giá BETWEEN 100 AND 500 THEN 'Hợp lý' WHEN giá > 500 THEN 'Đắt' ELSE 'Chưa xác định' END AS phân_khúc_giá FROM sản_phẩm;
Ví dụ này phân loại sản phẩm dựa trên giá của chúng.
Kết luận
CASE là một công cụ mạnh mẽ trong PostgreSQL giúp bạn xử lý các biểu thức điều kiện một cách linh hoạt và dễ dàng. Việc ứng dụng CASE một cách hiệu quả sẽ giúp tối ưu hóa truy vấn và cải thiện khả năng đọc hiểu của mã SQL.