Lompat ke konten utama
←

SQL Lanjutan

Pelajaran 4 dari 18

CASE WHEN

Membuat kategori dengan CASE

Setelah pelajaran ini kamu bisa membuat kolom kategori dari nilai angka.

  • ±13 menit
  • 3 latihan
  • Diperiksa 22 Sep 2026

Latihan di pelajaran ini butuh akun gratis. Progres, kode, dan catatanmu hanya tersimpan di browser ini. Masuk untuk menyimpannya

Materi

CASE mengubah angka menjadi kategori. Syaratnya diperiksa satu per satu dari atas, pemeriksaan berhenti di syarat pertama yang benar, ELSE dipakai bila tidak ada satu pun yang cocok, dan END menutup ekspresinya. Hasil CASE adalah satu nilai, jadi ia dapat diletakkan di mana pun sebuah kolom boleh ditulis: di SELECT, di ORDER BY, bahkan di dalam fungsi agregat.

SELECT pesanan_id, jumlah,
       CASE
         WHEN jumlah >= 20 THEN 'grosir'
         WHEN jumlah >= 5 THEN 'partai'
         ELSE 'eceran'
       END AS jenis_beli
FROM detail_pesanan;

Pekerjaan yang paling sering memakai CASE adalah laporan yang membagi angka menjadi kelompok bernama. Umur piutang, misalnya, diubah dari jumlah hari menjadi tiga label yang dimengerti bagian keuangan: CASE WHEN umur_hari > 60 THEN 'macet' WHEN umur_hari > 30 THEN 'terlambat' ELSE 'lancar' END AS status_tagihan. Setelah kolom itu ada, jumlah tagihan per label dihitung dengan GROUP BY status_tagihan.

Urutan WHEN menentukan hasilnya: syarat yang lebih longgar diletakkan di bawah syarat yang lebih ketat. Bila WHEN umur_hari > 30 ditulis paling atas, tagihan berumur 90 hari berhenti di cabang itu dan diberi label terlambat, sedangkan label macet tidak pernah muncul sama sekali.

Latihan

0/3 lulus

Jawaban diperiksa di server. Lulus berarti kamu memahami contohnya, bukan penilaian seluruh pekerjaanmu.

Catatanmu

Memuat catatan…

tersimpan otomatis, ikut tercetak · 0/4.000

Lanjutkan ke

Tampilkan 4 lagi

Sebagian materi kelas ini diadaptasi dari Software Carpentry — Databases and SQL (sql-novice-survey) (CC-BY-4.0), Data Carpentry — SQL for Ecology (CC-BY-4.0), Kaggle learntools — Intro to SQL dan Advanced SQL (Apache-2.0), NUKnightLab — SQL Murder Mystery (CC-BY-SA-4.0).