Menjadi Data Analyst dari Nol (Part 26)
CASE WHEN vs COALESCE vs NULLIF dalam SQL (Penjelasan Lengkap + Contoh Praktis)
Dalam dunia data analysis, terutama saat menggunakan SQL, kita sering berhadapan dengan kondisi logika dan nilai NULL.
Tiga fungsi yang sangat sering digunakan oleh Data Analyst adalah:
-
CASE WHEN -
COALESCE -
NULLIF
Walaupun terlihat mirip karena sama-sama berhubungan dengan kondisi dan NULL handling, sebenarnya ketiganya memiliki fungsi yang berbeda.
Di artikel Part 3 ini, kita akan membahas secara lengkap:
-
Perbedaan CASE WHEN vs COALESCE vs NULLIF
-
Kapan harus menggunakan masing-masing
-
Contoh praktis dalam kasus dunia kerja Data Analyst
1️⃣ CASE WHEN – Untuk Logika Kondisional (IF-THEN di SQL)
CASE WHEN digunakan untuk membuat kondisi logika seperti IF-ELSE di Excel atau programming.
Struktur Dasar:
CASE
WHEN kondisi THEN hasil
WHEN kondisi THEN hasil
ELSE hasil_default
END
Contoh Kasus:
Misalnya kita ingin mengelompokkan penjualan berdasarkan nilai:
SELECT
total_sales,
CASE
WHEN total_sales >= 10000000 THEN 'High'
WHEN total_sales >= 5000000 THEN 'Medium'
ELSE 'Low'
END AS sales_category
FROM sales;
Kapan Gunakan CASE WHEN?
✅ Klasifikasi data (High / Medium / Low)
✅ Membuat label kategori
✅ Conditional calculation
✅ Membuat kolom baru berdasarkan kondisi
CASE WHEN adalah senjata utama Data Analyst saat membuat insight.
2️⃣ COALESCE – Mengganti Nilai NULL
Dalam database, NULL berarti “tidak ada nilai”.
Masalahnya: NULL bisa merusak perhitungan.
COALESCE digunakan untuk mengganti NULL dengan nilai lain.
Struktur Dasar:
COALESCE(nilai1, nilai2, nilai3, ...)
SQL akan membaca dari kiri ke kanan dan mengambil nilai pertama yang tidak NULL.
Contoh Kasus:
SELECT
customer_name,
COALESCE(phone_number, 'No Phone') AS phone_display
FROM customers;
Jika phone_number NULL → akan diganti dengan “No Phone”.
Kapan Gunakan COALESCE?
✅ Menghindari NULL di laporan
✅ Mengganti NULL dengan 0 pada SUM
✅ Membersihkan data sebelum visualisasi
Contoh penting:
SELECT COALESCE(SUM(total_sales), 0) AS total_sales
FROM sales;
Tanpa COALESCE, hasil bisa NULL jika tidak ada data.
3️⃣ NULLIF – Mengubah Nilai Tertentu Jadi NULL
NULLIF bekerja kebalikan dari COALESCE.
Jika dua nilai sama → hasilnya NULL.
Struktur Dasar:
NULLIF(nilai1, nilai2)
Jika nilai1 = nilai2 → hasil NULL
Jika tidak sama → hasil nilai1
Contoh Kasus:
Mencegah error pembagian dengan nol:
SELECT
total_sales / NULLIF(total_transaction, 0) AS avg_sales
FROM sales;
Jika total_transaction = 0 → akan menjadi NULL
Sehingga tidak error division by zero.
Kapan Gunakan NULLIF?
✅ Menghindari division by zero
✅ Menghapus nilai placeholder (misal 0 dianggap tidak valid)
✅ Data cleaning sebelum agregasi
Perbandingan CASE WHEN vs COALESCE vs NULLIF
| Fungsi | Tujuan Utama | Digunakan Untuk |
|---|---|---|
| CASE WHEN | Logika kondisi | Klasifikasi & conditional logic |
| COALESCE | Ganti NULL | Data cleaning & laporan |
| NULLIF | Buat jadi NULL jika sama | Hindari error & cleaning |
Studi Kasus Dunia Kerja Data Analyst
Misalnya kamu membuat report penjualan:
-
Gunakan CASE WHEN → untuk kategori performa toko
-
Gunakan COALESCE → untuk memastikan total revenue tidak NULL
-
Gunakan NULLIF → untuk menghitung average tanpa error
Inilah kombinasi yang sering digunakan dalam dashboard Power BI, Tableau, atau reporting SQL production.
Kesimpulan
Sebagai Data Analyst, memahami perbedaan CASE WHEN vs COALESCE vs NULLIF sangat penting karena:
-
Membantu membuat query lebih aman
-
Menghindari error perhitungan
-
Membuat laporan lebih clean
-
Membuat insight lebih akurat
Kalau kamu ingin menjadi Data Analyst profesional, tiga fungsi ini wajib dikuasai sejak awal.
🔥 Next Article (Part 4 Preview):
"GROUP BY vs WINDOW FUNCTION – Mana yang Lebih Powerful?"

