CASE WHEN Advanced pada SQL: Nested, Multiple Condition, dan Studi Kasus Dunia Kerja
Kalau di Part 1 kita sudah membahas dasar CASE WHEN, sekarang kita masuk level berikutnya.
Di artikel ini kita akan bahas:
-
Nested CASE WHEN
-
Multiple condition (AND / OR)
-
CASE WHEN dengan beberapa kolom
-
Studi kasus dunia kerja (real business case)
-
Tips optimasi performa
Artikel ini cocok untuk kamu yang ingin naik level dari SQL dasar ke SQL intermediate–advanced.
1️⃣ Nested CASE WHEN (CASE di dalam CASE)
Nested CASE WHEN digunakan ketika kondisi bercabang lebih kompleks.
Contoh Studi Kasus
Misalnya kita ingin mengkategorikan customer berdasarkan:
-
total_sales
-
status membership
Tabel:
| customer_name | total_sales | membership |
|---|---|---|
| Andi | 7000000 | Gold |
| Budi | 7000000 | Silver |
| Sari | 2000000 | Gold |
Query:
📌 Digunakan untuk segmentasi bertingkat.
2️⃣ CASE WHEN dengan Multiple Condition (AND / OR)
Ini sering dipakai dalam real reporting.
Contoh: Menentukan Bonus Sales
Kriteria:
-
total_sales ≥ 10 juta
-
jumlah_transaksi ≥ 50
📌 Sangat umum dipakai dalam KPI dashboard.
3️⃣ CASE WHEN dengan Beberapa Kolom
Kadang kita perlu evaluasi lebih dari satu kolom sekaligus.
Contoh: Status Pembayaran
| invoice_id | due_date | payment_date |
📌 Ini sering dipakai di sistem accounting dan dashboard finance.
4️⃣ Real Business Case: Segmentasi Customer untuk Dashboard
Sekarang kita masuk studi kasus yang realistis.
Misalnya kamu ingin membuat dashboard di:
-
Microsoft Power BI
-
Looker Studio
Dan kamu ingin membuat segmentasi:
-
Platinum → ≥ 20 juta
-
Gold → ≥ 10 juta
-
Silver → ≥ 5 juta
-
Bronze → < 5 juta
Query:
🔥 Ini yang biasanya dipakai sebelum data masuk ke dashboard.
5️⃣ Tips Optimasi CASE WHEN (Advanced Level)
✅ 1. Hindari Perhitungan Berulang
Jangan ulang SUM(total_sales) berkali-kali.
Lebih baik gunakan subquery atau CTE.
✅ 2. Gunakan CTE untuk Query Kompleks
📌 Ini jauh lebih clean dan scalable.
6️⃣ Kesalahan Umum yang Harus Dihindari
❌ Urutan kondisi salah
❌ Tidak menggunakan ELSE
❌ Logika tumpang tindih
❌ Query terlalu panjang tanpa CTE
Kesimpulan
CASE WHEN Advanced pada SQL memungkinkan kamu untuk:
-
Membuat segmentasi kompleks
-
Mengolah data sebelum masuk dashboard
-
Membuat KPI logic langsung dari database
-
Mengurangi beban transformasi di BI tools
Kalau kamu ingin naik level sebagai Data Analyst, menguasai Nested CASE dan Multiple Condition adalah skill wajib.
FAQ Section
FAQ: CASE WHEN Advanced SQL
1. Apa itu Nested CASE WHEN?
Nested CASE WHEN adalah penggunaan CASE di dalam CASE untuk menangani logika kondisi bertingkat.
2. Kapan menggunakan AND atau OR dalam CASE WHEN?
Digunakan ketika kondisi evaluasi melibatkan lebih dari satu kriteria, seperti target penjualan dan jumlah transaksi.
3. Apakah CASE WHEN bisa digunakan dengan GROUP BY?
Ya, sangat umum digunakan bersama GROUP BY untuk membuat segmentasi berdasarkan hasil agregasi.
4. Apakah CASE WHEN mempengaruhi performa query?
Jika terlalu kompleks atau berulang tanpa optimasi, bisa memperlambat query. Gunakan CTE atau subquery untuk performa lebih baik.
NEXT kita lanjut:
-
Artikel Part 3: CASE WHEN vs COALESCE vs NULLIF
-
Artikel SQL untuk KPI Dashboard
-
Artikel SQL untuk Interview Data Analyst
-
Atau kita bikin satu seri khusus “SQL untuk Real Corporate Case”

