SQL CASE kullanımı, veritabanı sorgularında koşullu mantık oluşturmak ve verileri dinamik bir şekilde yönetmek için önemli bir tekniktir. Bu makalede, SQL CASE ifadesinin nasıl kullanılacağını, temel yapılarını ve çeşitli kullanım senaryolarını detaylandırıcağım.
SQL CASE Kullanımının Temel Yapısı
SQL CASE kullanımı, belirli bir koşula göre farklı sonuçlar döndürmenizi sağlar. Temel yapı şu şekildedir:
CASE WHEN koşul1 THEN sonuç1 WHEN koşul2 THEN sonuç2 ... ELSE varsayılan_sonuç END
- WHEN: Belirli bir koşulu kontrol eder.
- THEN: Koşul sağlandığında döndürülecek değeri belirtir.
- ELSE: Hiçbir koşul sağlanmadığında döndürülecek varsayılan değeri belirtir.
- END: CASE ifadesinin sonunu işaretler.
SQL CASE Kullanımı: Örnekler
Basit Kullanım
Örneğin, öğrenci notlarına bağlı olarak geçme durumunu belirlemek için SQL CASE ifadesi kullanılabilir. 50 ve üzeri puan alan öğrenciler “Geçti”, altındaki puanlar “Kaldı” olarak işaretlenebilir:
SELECT öğrenci_adı, not, CASE WHEN not >= 50 THEN 'Geçti' ELSE 'Kaldı' END AS durum FROM öğrenciler;
Birden Fazla Koşul
Öğrenci notlarını harf notlarına dönüştürmek için SQL CASE ifadesi kullanılabilir:
SELECT öğrenci_adı, not, CASE WHEN not >= 90 THEN 'A' WHEN not >= 80 THEN 'B' WHEN not >= 70 THEN 'C' WHEN not >= 60 THEN 'D' ELSE 'F' END AS harf_notu FROM öğrenciler;
Sütun İçinde Kullanım
Cinsiyet bilgisini ‘M’ ve ‘F’ yerine ‘Erkek’ ve ‘Kadın’ olarak dönüştürmek için CASE ifadesi kullanılabilir:
SELECT öğrenci_adı, cinsiyet, CASE cinsiyet WHEN 'M' THEN 'Erkek' WHEN 'F' THEN 'Kadın' ELSE 'Bilinmiyor' END AS cinsiyet_tam FROM öğrenciler;
SQL CASE Kullanımının Farklı Alanlarda Uygulama
Gruplama ile Kullanım
SQL CASE kullanımı , GROUP BY ifadesi ile birleştirilerek veri gruplama işlemlerinde etkili olabilir. Örneğin, ürünlerin fiyatlarına göre kategorize edilmesi ve her kategorideki ürün sayısının hesaplanması:
SELECT CASE WHEN fiyat < 50 THEN 'Ucuz' WHEN fiyat BETWEEN 50 AND 150 THEN 'Orta' ELSE 'Pahalı' END AS fiyat_kategorisi, COUNT(*) AS ürün_sayısı FROM ürünler GROUP BY fiyat_kategorisi;
Karmaşık Hesaplamalarda Kullanım
CASE ifadesi, karmaşık hesaplamalarda da etkili olabilir. Örneğin, vergi oranlarını fiyat aralıklarına göre hesaplamak:
SELECT ürün_adı, fiyat, CASE WHEN fiyat < 100 THEN fiyat * 0.05 WHEN fiyat BETWEEN 100 AND 500 THEN fiyat * 0.1 ELSE fiyat * 0.2 END AS vergi FROM ürünler;
Büyük veri setlerinde karmaşık CASE ifadeleri performans sorunlarına yol açabilir. Performansı artırmak için CASE ifadelerini optimize etmek veya alternatif yöntemler düşünmek oldukça önemli. Unutmayın küçük projelerde sorgunuzun performansı o kadar önemli olmasa da, büyük projeler büyük önem arz eder. Büyük projelere örnek olarak günlük hayatımızda çoğumuzun sıklıkla kullandığı sosyal medya platformlarını gösterebilirim.
SQL CASE, koşullu mantık oluşturmak ve verileri dinamik olarak yönetmek için güçlü bir araçtır. Bu makalede SQL CASE ifadesinin temellerini, çeşitli örneklerini ve performans konularını ele aldım. SQL CASE ifadesini doğru kullanarak verilerinizi daha etkili bir şekilde analiz edebilir ve yönetebilirsiniz.
Sql’de koşullu sorgular oluşturmak için kullanabileceğiniz başka bir ifade Where ifadesidir. Sql Where Kullanımı yazıma göz atmanızı öneririm.
Diğer SQL ifadeleri için SQL Kategorisini inceleyin.