PostgreSQL CASE

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.