SQL'de If Else Kullanımı
16 Dec 2013Merhabalar, bu makalemizde SQL tarafında If-Else koşul ifadelerini anlatmaya çalışacağım. If-Else koşul ifadelerimiz çoğu yazılım dilinde kullanıldığı gibi burada da aynı mantıkta çalışır.
Genel Syntax
AdventureWorks veritabanımızı baz alarak bir örnek yapalım. Çalışanların bilgilerinin tutulduğu Person.Contact tablosuna gidelim, isminin içinden ‘B’ harfi geçen personelin toplamını alıp bunu da bir değişkenin üzerine alalım, sonrasında şöyle bir koşul belirleyelim; eğer (if) gelen değer (yani değişkenin üzerindeki değer) 1500’den büyükse ‘Fazla Kayıt Var!’, 1500’den küçük ise (else if) ‘Az Kayıt Var!’, eğer hiçbir değilse (else) ‘Hiç Kayıt Yok!’ şeklinde sorgumuzu sonuçlandıralım.
Dipnot: Yukarıdaki TSql sorgumuzun çalışması için tamamını seçmemiz gerekmektedir. Bunun nedeni yaptırmak istediğimiz işlevi sadece bi bölümden oluşuyor, sayfalarca kod da yazabilirsiniz ama Execute(F5) ettiğinizde bütün sayfayı dikkate alıp sonuç getirmeye çalışır. Doğrusu getiremez hata alırsınız. Misal tablo oluşturdunuz, sonra bir tablo daha yazdınız, sonrasında bir store procedure eklediniz diyelim, bunları sırasıyla ayrı ayrı seçip execute etmeniz gerekmektedir ki Sql’de yaptırmanız gerekeni blok blok algılayıp sorunsuz çalıştırsın. Gerçi store procedure bilen kişiye buradaki anlatım saçma gelebilir “adam store procedure yazabiliyorsa bu bilgiyi çoktan aşmıştır..” gibi, tabi yazı yeni başlayanlara hitap ettiği için ancak store procedure’de neyin nesi sorularının ortaya çıkmasına mahal verir. Fazla uzattım, az önceki örneğimizi daha kısa nasıl yazabiliriz sorusuyla devam edelim.
Yukarıdaki şekilde bu sefer değişken kullanmadık direk if ifadesi içinde koşulumuzu yazdık, parantezlere dikkatinizi vermenizi istiyorum çünkü kapsam alanları önemli..
Bir örnek daha yapalım; bu kez de Production.Product (Ürün) tablomuzdan rengi null (boş,sıfır) olmayan fiyatı sıfırdan büyük olan ürünlerin adetini alalım. Bunu da bir if içerisinde kontrol edelim. 100’den büyükse ve küçükse ifadeler yazdıralım.
Burada fiyatı sıfırdan büyük olup rengi boş olmayanların 100 den fazla ise ‘Çok fazla kayıt var.’ değilse ‘Çok az kayıt var.’ şeklinde sonuçlarını ekrana yazdırdık. Bu makaleyle If-Else koşul ifadelerini sade bir dille anlatmaya çalıştım. Umarım faydalı olabilmişimdir. Sorularınız varsa bana iletişim bölümünden ulaşabilirsiniz. Bir sonraki makale için takipte kalmanız rica olunur o vakte kadar esen kalın!