Lompat ke konten utama
←

SQL Lanjutan

Pelajaran 5 dari 18

CASE WHEN

Menghitung bersyarat dengan CASE

Setelah pelajaran ini kamu bisa menghitung beberapa kategori sekaligus dalam satu baris hasil.

  • ±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 yang menghasilkan 1 atau 0 dapat dijumlahkan. Pola ini mengubah hitungan bersyarat menjadi kolom: setiap SUM(CASE ...) menghitung satu kelompok, dan semuanya muncul berdampingan dalam satu baris hasil. Tanpa pola ini, tiga kelompok berarti tiga kueri terpisah yang hasilnya disalin satu per satu.

SELECT
  SUM(CASE WHEN status = 'selesai' THEN 1 ELSE 0 END) AS selesai,
  SUM(CASE WHEN status = 'batal' THEN 1 ELSE 0 END) AS batal
FROM pesanan;

Bersama GROUP BY, pola yang sama menghasilkan tabel silang: satu baris per kelompok, satu kolom per kategori. Rekap kehadiran satu semester ditulis begini — SELECT kelas, SUM(CASE WHEN keterangan = 'hadir' THEN 1 ELSE 0 END) AS hadir, SUM(CASE WHEN keterangan = 'izin' THEN 1 ELSE 0 END) AS izin FROM absensi GROUP BY kelas — dan hasilnya langsung berbentuk tabel yang siap dicetak.

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).