Sql Case Kullanımı

SQL CASE Kullanımı

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.

Bir yanıt yazın

E-posta adresiniz yayınlanmayacak. Gerekli alanlar * ile işaretlenmişlerdir

Exit mobile version