Conditional
MySQL
CASE
Ekspresi kondisional yang mengembalikan nilai berdasarkan kondisi. Dua bentuk: searched dan simple.
Tipe hasil:
VariesDiperbarui: 7 Jan 2026Syntax
SQL
CASE WHEN cond THEN result [WHEN...] [ELSE default] END | CASE expr WHEN val THEN result [WHEN...] [ELSE default] ENDParameter
conditionbooleanwajib
Kondisi yang dievaluasi (searched CASE)
resultanywajib
Nilai yang dikembalikan jika kondisi true
defaultanyopsional
Nilai default jika tidak ada kondisi yang cocok
Contoh Penggunaan
Searched CASE
SQL
1 SELECT name, score, 2 CASE 3 WHEN score >= 90 THEN 'A' 4 WHEN score >= 80 THEN 'B' 5 WHEN score >= 70 THEN 'C' 6 ELSE 'F' 7 END AS grade 8 FROM students;
Mengkategorikan skor menjadi grade.
Hasil
(students with grades)
Simple CASE
SQL
1 SELECT status, 2 CASE status 3 WHEN 'A' THEN 'Active' 4 WHEN 'I' THEN 'Inactive' 5 WHEN 'P' THEN 'Pending' 6 ELSE 'Unknown' 7 END AS status_desc 8 FROM users;
Mapping kode ke deskripsi.
Hasil
(status descriptions)
Conditional Aggregation
SQL
1 SELECT 2 SUM(CASE WHEN type = 'credit' THEN amount ELSE 0 END) AS total_credit, 3 SUM(CASE WHEN type = 'debit' THEN amount ELSE 0 END) AS total_debit 4 FROM transactions;
Agregasi kondisional.
Hasil
(credit and debit totals)