SQL CASE WHEN ile Koşullu Sorgular

0 Yanıt 3 Görüntülenme
Puanlayanlar
Katılımcılar
Konuyu Açan #1
Giriş:
SQL'de veri sorgularken, bazen farklı koşullara göre farklı sonuçlar döndürmek veya filtreler uygulamak gerekebilir. İşte bu noktada CASE WHEN yapısı devreye girer. Bu yapı, programlama dilindeki 'if-else' mantığını SQL'e taşır ve sorgulara dinamiklik kazandırır. Özellikle raporlama, analiz ve karmaşık veri manipülasyonlarında vazgeçilmez bir araçtır.

CASE WHEN yapısının temel kullanımı
Birçok durumda, farklı koşullara göre farklı sonuçlar üretmek istiyorsanız, CASE WHEN ifadesini kullanmalısınız. Temel sözdizimi şu şekildedir:
KOD
123456789  
SELECT  
  [sütunlar],  
  CASE  
    WHEN [koşul1] THEN [sonuç1]  
    WHEN [koşul2] THEN [sonuç2]  
    ELSE [varsayılan sonuç]  
  END AS [yeni_sütun]  
FROM [tablo];  


Örneğin, çalışanların maaşlarına göre performans seviyelerini sınıflandırmak istiyorsanız:
KOD
12345678910  
SELECT  
  isim,  
  maas,  
  CASE  
    WHEN maas >= 10000 THEN 'Yüksek'  
    WHEN maas >= 5000 THEN 'Orta'  
    ELSE 'Düşük'  
  END AS performans  
FROM calisanlar;  


Burada, maaş değeri 10,000 ve üzeriyse 'Yüksek', 5,000-9,999 arası ise 'Orta', daha düşükse 'Düşük' olarak sınıflandırılıyor.

Koşullarda Kullanım ve İpuçları
  • Çoklu koşullarda ELSE kullanımı zorunludur, aksi takdirde diğer durumlar boş kalabilir.
  • Birden fazla koşulu aynı anda kontrol etmek için AND veya OR kullanabilirsiniz.
  • CASE WHEN ifadesi, WHERE, ORDER BY veya HAVING gibi cümlelerde de kullanılabilir. Örneğin, sıralama yaparken koşullara göre farklı sıralama kriterleri belirlenebilir.


Örnek:
KOD
12345678  
SELECT * FROM siparisler  
ORDER BY  
  CASE  
    WHEN durum = 'Tamamlandı' THEN 1  
    WHEN durum = 'İptal' THEN 3  
    ELSE 2  
  END;  


Bu sorgu, tamamlanan siparişleri öncelikle getirir, iptal edilenleri en sona alır ve diğer durumları ortada sıralar.

Sonuç:
SQL'de CASE WHEN yapısı, sorgularınıza koşullu mantık katmanın en güçlü ve esnek yollarından biridir. Veri analizinde, raporlama ve dinamik sorgular oluştururken vazgeçilmezdir. Bu yapı sayesinde, karmaşık durumları kolayca yönetebilir ve kullanıcı odaklı sonuçlar sağlayabilirsiniz.

İşte bu kadar; farklı uygulama örnekleri ve koşullarla ilgili sorularınız veya deneyimleriniz varsa paylaşabilirsiniz.

Yanıt vermek için giriş yapmış olmalısınız.

0 alıntı seçildi