SQL Mülakatlarında Karşılaşabileceğiniz Yapılar: CASE WHEN

SQL’de CASE WHEN yapısının temel kullanımını ve mülakatlarda nasıl karşınıza çıkabileceğini öğrenin. Basit örneklerle hızlıca kavrayın.

Serdar Tafralı
3 min read1 day ago

SQL’de birçok önemli fonksiyon ve yapı var ama bunlardan biri var ki, SQL mülakatlarında sıkça karşınıza çıkabilir: CASE WHEN. Bu yapı, veri analizinde ve raporlamada oldukça kritik bir rol oynuyor. Hadi gelin, CASE WHEN'in ne olduğunu ve nasıl kullanıldığını örneklerle inceleyelim!

CASE WHEN Nedir?

CASE WHEN, SQL'de koşullu mantık yürütmemize yarayan bir yapıdır. Programlama dillerinde kullandığımız if-else yapısına oldukça benzer. Yani, bir veri sütunundaki değere göre farklı sonuçlar döndürebiliriz. SQL sorgularında sık sık karşımıza çıkan bu yapı, raporlama ve analiz süreçlerinde oldukça işimize yarar.

İsterseniz önce temel yapısına göz atalım:

CASE
WHEN koşul_1 THEN sonuç_1
WHEN koşul_2 THEN sonuç_2
ELSE varsayılan_sonuç
END

Gayet basit, değil mi? Şimdi bunu birkaç örnekle daha anlaşılır hale getirelim.

  • WHEN: Şartımızı belirlediğimiz kısım.
  • THEN: Şart doğru olduğunda dönecek sonuç.
  • ELSE: Hiçbir şart doğru değilse dönecek varsayılan sonuç (opsiyonel).

Gelin bunu birkaç örnekle daha anlaşılır hale getirelim.

Örnek 1: Maaşlara Göre Sınıflandırma

Aşağıda bir çalışanlar tablosu var. Bu tablodaki maaş değerlerine göre çalışanlara “Yüksek Maaş” ya da “Düşük Maaş” etiketi vereceğiz.

Şimdi maaşı 4500'den fazla olanlara “Yüksek Maaş”, diğerlerine “Düşük Maaş” diyelim:

SELECT isim, maas,
CASE
WHEN maas > 4500 THEN 'Yüksek Maaş'
ELSE 'Düşük Maaş'
END AS maas_durumu
FROM calisanlar;

Örnek 2: Birden Fazla Koşul

Şimdi maaşları daha ayrıntılı sınıflandıralım. 6000'den fazla olanlar “Çok Yüksek Maaş”, 4500–6000 arası “Yüksek Maaş”, 3000–4500 arası “Orta Maaş”, diğerleri “Düşük Maaş” olsun:

SELECT isim, maas,
CASE
WHEN maas > 6000 THEN 'Çok Yüksek Maaş'
WHEN maas > 4500 THEN 'Yüksek Maaş'
WHEN maas > 3000 THEN 'Orta Maaş'
ELSE 'Düşük Maaş'
END AS maas_durumu
FROM calisanlar;

Örnek 3: Satışlara Göre Prim Hesaplama

Bu sefer satış miktarına göre prim hesaplayalım. Satış miktarı 10.000'in üstündeyse prim 1000 TL, diğer durumlarda 0 TL olacak:

SELECT calisan_adi, satis_miktari,
CASE
WHEN satis_miktari > 10000 THEN 1000
ELSE 0
END AS prim
FROM satislar;

CASE WHEN Yapısının Önemi

  1. Şartlı Mantık Uygulaması: CASE WHEN, SQL sorgularında koşullu mantık yürütmemize olanak tanır. Programlama dillerindeki if-else yapısına benzeyen bu yapı, verilerin anlamlandırılmasında önemli bir rol oynar.
  2. Esneklik: CASE, birçok SQL ifadesi içinde kullanılabilir, bu da çok yönlülüğünü artırır. Veri tabanındaki değerleri dinamik olarak değiştirmek veya sınıflandırmak için ideal bir çözümdür.
  3. Raporlama ve Analiz: CASE WHEN, raporlama ve analiz süreçlerinde çok sık kullanılır. Verileri belirli aralıklara göre sınıflandırmak, gruplandırmak veya farklı senaryolar için sonuçlar üretmek için kullanılır.

SQL mülakatlarında sıkça karşımıza çıkan sorulardan biri de veriyi koşullu olarak değiştirmektir. İşte CASE WHEN tam da burada devreye giriyor. Verileri koşullara göre dinamik olarak sınıflandırmak, raporlarda kullanmak ve hatta veritabanı verilerini dönüştürmek için mükemmel bir araç. Sorgularınıza esneklik katar ve size SQL'de analitik düşünme gücü sağlar. Bir sonraki SQL mülakatınızda bu yapıyla ilgili bir soru geldiğinde kendinizden emin bir şekilde cevap verebilirsiniz!

Serdar TAFRALI

--

--

Serdar Tafralı

Dedicated and eager lifelong learner with a very solid mathematical background. Deeply passionate about Data Science and Artificial Intelligence