Menu
Coddy logo textTech

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 gibidir. SELECT (veya ORDER BY, ya da WHERE) içinde yer alır ve satır başına 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 students

Her WHEN yukarıdan aşağıya doğru kontrol edilir; ilk eşleşen kazanır. ELSE isteğe bağlıdır. O olmadan, eşleşmeyen satırlar NULL değerini alır.

Her zaman END ile bitirin ve AS ile sütuna bir isim verin.

challenge icon

Görev

Kolay

Mevcut 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 >= 150000 olduğunda 'partner' (herhangi bir departman)
  • department = 'eng' ve salary >= 100000 olduğunda 'senior'
  • salary >= 60000 olduğunda 'mid'
  • Aksi takdirde 'entry'

salary sütununa göre azalan sırada sıralayın. WHEN dallarının sırasının önemli olduğunu unutmayın: ilk eşleşen kazanır.

Kendin dene

SELECT name, department,
       -- maaş ve departmanı karıştıran birden fazla WHEN dalına sahip kademe
FROM employees
quiz iconKendini test et

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