CASE İfadesi

SQL'de belirli koşullara sahip değerler elde etmek istiyorsak CASE ifadesini kullanmaktayız.

case ifadesi

Öncelikle [HumanResources].[Employee] tablosunu sorgulatalım.

case ifadesi

Sadece JobTitle'ları görüntüleyelim. Amacımız JobTitle'ında Production geçen tüm adları yeni bir sütunda "Production" olarak göstermek. Diğerlerini "Other" değeri ile göstermek.

case ifadesi

Öncelikle [Job Category] adlı yeni bir alan oluşturuyoruz. Ardından CASE yazıp koşulumuzu belirtiyoruz.

WHEN [JobTitle] LIKE '%production%' THEN 'Production'
kodları ile JobTitle'ında production geçen tüm değerleri Job Category'de "Production" olarak gösterdik. Diğer tüm durumları
ELSE 'Other'
kodları ile "Other" yani diğer kategorisinde gösterdik. Son olarak END ifadesi ile CASE koşulunu bitiriyoruz.

case ifadesi

Eğer içinde "engineer" geçen tüm JobTitle'ları Engineer kategorisinde göstermek isteseydik ilk WHEN'den sonra

WHEN [JobTitle] LIKE '%engineer%' THEN 'Engineer'
kodlarını kullanmamız yeterliydi.

case ifadesi

Şimdi farklı bir örnek yapalım. [Sales].[SalesOrderDetail] tablosunu sorgulatalım.

case ifadesi

Sadece birim fiyatları gösterelim.

case ifadesi

Burada şunu yaptık: [Price Level] adlı yeni bir alan oluşturduk. Birim fiyatı 20 dolardan düşük olanları "Low", 400 dolardan düşük olanları "Mid", 2000 dolardan küçük olanları ise "High" olarak sınıflandırdık. 2000 dolardan yüksek olanları "Very High" olarak belirttik. Diğer tüm hallerde "Other" yazılmasını istedik.

Sorgumuzu çalıştırdığımızda [Price Level] alanında istediğimiz kategorileştirmeyi yaptığımızı görebiliriz.

Bir sonraki bölümde 2. ara tekrarımızı yapacağız.

<<< Önceki Konu
Sonraki Konu >>>