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:
Örneğin, çalışanların maaşlarına göre performans seviyelerini sınıflandırmak istiyorsanız:
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ı
Örnek:
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.
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.
