CASE WHEN
Coddy'nin SQL Journey'sinin Temellerin Ötesi bölümünün bir parçası — ders 1 / 27.
Bir CASE ifadesi, SQL için bir if/else if/else yapısıdır. SELECT (veya ORDER BY ya da WHERE) içinde yer alır ve her satır için bir değer üretir.
SELECT name,
CASE
WHEN score >= 90 THEN 'A'
WHEN score >= 75 THEN 'B'
WHEN score >= 60 THEN 'C'
ELSE 'F'
END AS grade
FROM studentsHer bir WHEN yukarıdan aşağıya kontrol edilir; ilk eşleşme kazanır. ELSE isteğe bağlıdır. O olmadan, eşleşmeyen satırlar NULL değerini alır.
Daima END ile bitirin ve AS ile sütuna bir isim verin.
Görev
KolayMevcut tablolar ve sütunlar:
<strong>employees</strong>:<strong>id</strong>,<strong>name</strong>,<strong>department</strong>,<strong>salary</strong>
Her çalışan için name, department ve şu şekilde oluşturulmuş bir tier sütunu döndürün:
salary >= 150000olduğunda'partner'(herhangi bir departman)department = 'eng'vesalary >= 100000olduğunda'senior'salary >= 60000olduğunda'mid'- Aksi takdirde
'entry'
salary değerine göre azalan düzende sıralayın. WHEN dallarının sırasının önemli olduğunu unutmayın: ilk eşleşen kazanır.
Kopya kağıdı
CASE, SELECT içinde if/else gibi davranarak her satır için bir değer üretir:
SELECT name,
CASE
WHEN score >= 90 THEN 'A'
WHEN score >= 75 THEN 'B'
ELSE 'F'
END AS grade
FROM students- Koşullar yukarıdan aşağıya kontrol edilir; ilk eşleşen kazanır
ELSEisteğe bağlıdır — o olmadan, eşleşmeyen satırlarNULLdöndürür- Her zaman
ENDile kapatın; sütunu adlandırmak içinASkullanın
Kendin dene
SELECT name, department,
-- salary ve department'ı birleştiren birden fazla WHEN dalına sahip tier
FROM employees
Bu ders kısa bir quiz içerir. Soruları yanıtlamak ve ilerlemeni kaydetmek için derse başla.
Temellerin Ötesi bölümündeki tüm dersler
2String Fonksiyonları
LENGTH, UPPER, LOWERSUBSTRINSTRREPLACE ve TRIM|| ile BirleştirmeÖzet - Faturalar