Conditional
DuckDB
CASE
Ekspresi kondisional yang mengevaluasi kondisi secara berurutan dan mengembalikan hasil yang sesuai. Fundamental untuk logika kondisional di SQL.
Tipe hasil:
Tipe dari result expressionsDiperbarui: 6 Jan 2026Syntax
SQL
CASE WHEN condition THEN result [WHEN...] [ELSE result] ENDParameter
conditionBOOLEANwajib
Kondisi yang akan dievaluasi
resultANYwajib
Nilai yang dikembalikan jika kondisi TRUE
ELSE resultANYopsional
Nilai default jika tidak ada kondisi yang TRUE
Contoh Penggunaan
Simple CASE
SQL
1 SELECT 2 product_name, 3 price, 4 CASE 5 WHEN price < 100 THEN 'Murah' 6 WHEN price < 500 THEN 'Medium' 7 ELSE 'Mahal' 8 END AS price_category 9 FROM products;
Mengkategorikan produk berdasarkan harga.
CASE dengan Aggregasi
SQL
1 SELECT 2 COUNT(CASE WHEN status = 'active' THEN 1 END) AS active_count, 3 COUNT(CASE WHEN status = 'inactive' THEN 1 END) AS inactive_count 4 FROM users;
Conditional counting dalam satu query.
Searched CASE vs Simple CASE
SQL
1 -- Simple CASE 2 SELECT CASE status 3 WHEN 'A' THEN 'Active' 4 WHEN 'I' THEN 'Inactive' 5 ELSE 'Unknown' 6 END AS status_label 7 FROM users;
Simple CASE untuk equality check.
Nested CASE
SQL
1 SELECT 2 CASE 3 WHEN type = 'premium' THEN 4 CASE WHEN tenure > 12 THEN 'VIP' ELSE 'Premium' END 5 ELSE 'Standard' 6 END AS customer_tier 7 FROM customers;
CASE bersarang untuk logika kompleks.