Conditional

CASE

MySQLMySQL

Ekspresi kondisional yang mengembalikan nilai berdasarkan kondisi. Dua bentuk: searched dan simple.

Tipe hasil: VariesDiperbarui: 7 Jan 2026

Syntax

SQL
CASE WHEN cond THEN result [WHEN...] [ELSE default] END | CASE expr WHEN val THEN result [WHEN...] [ELSE default] END

Parameter

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
1SELECT 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
8FROM students;

Mengkategorikan skor menjadi grade.

Hasil
(students with grades)

Simple CASE

SQL
1SELECT 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
8FROM users;

Mapping kode ke deskripsi.

Hasil
(status descriptions)

Conditional Aggregation

SQL
1SELECT
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
4FROM transactions;

Agregasi kondisional.

Hasil
(credit and debit totals)

Fungsi Terkait