CASE WHEN
Termasuk bagian Lebih dari Dasar-Dasar dalam perjalanan SQL di Coddy. Pelajaran 1 dari 27.
Ekspresi CASE adalah percabangan if/else if/else untuk SQL. Ekspresi ini berada di dalam SELECT (atau ORDER BY, atau WHERE) dan menghasilkan nilai untuk setiap baris.
SELECT name,
CASE
WHEN score >= 90 THEN 'A'
WHEN score >= 75 THEN 'B'
WHEN score >= 60 THEN 'C'
ELSE 'F'
END AS grade
FROM studentsSetiap WHEN diperiksa dari atas ke bawah; kecocokan pertama yang ditemukan akan digunakan. ELSE bersifat opsional. Tanpanya, baris yang tidak cocok akan mendapat NULL.
Selalu akhiri dengan END dan beri nama pada kolom dengan AS.
Tantangan
MudahTabel dan kolom yang tersedia:
employees:id,name,department,salary
Untuk setiap karyawan, kembalikan kolom name, department, dan tier yang dibuat seperti ini:
'partner'ketikasalary >= 150000(departemen apa pun)'senior'ketikadepartment = 'eng'dansalary >= 100000'mid'ketikasalary >= 60000'entry'jika tidak
Urutkan berdasarkan salary secara menurun. Perhatikan bahwa urutan cabang WHEN penting: kecocokan pertama yang berlaku akan dipilih.
Coba sendiri
SELECT name, department,
-- tingkatan dengan beberapa cabang WHEN yang menggabungkan salary dan department
FROM employees
Pelajaran ini berisi kuis singkat. Mulai pelajarannya untuk menjawab kuis dan melacak progresmu.
Semua pelajaran di Lebih dari Dasar-Dasar
Latihan sendiri: Playground SQL