Çokca sorulan sorulardan birisi de SQL sorgularımız içerisinde if else koşul yapısının kullanımıdır.
Programlama dillerinin ortak özelliklerinden birisi de "Bunlar olunca şunları yap", "Gömleği mavi seçersem kravatı beyaz seç" gibi cümlelerin temelinde yatan koşul cümleleridir. SQL dilinde de bu yapıyı kullanmak mümkün.
Bu konuyu daha iyi anlamak için birkaç örnek üzerinde duralım.
Öncelik olarak kullanıcı tablosu oluşturalım.

tblKullanicilar (Kullanıcılar tablosu)

CREATE TABLE tblKullanicilar
(
kullanici_ID INT PRIMARY KEY NOT NULL IDENTITY(1,1),
ad VARCHAR(50),
soyad VARCHAR(50),
cinsiyet VARCHAR(1),
kullanici_adi VARCHAR(50),
tc_no VARCHAR(20),
dogum_tarihi DATE
)


Oluşturduğumuz tablo üzerinde işlem yapmak için birkaç kayıt ekleyelim.
Kullanıcı Verileri

INSERT INTO tblKullanicilar(ad, soyad, cinsiyet, kullanici_adi, tc_no, dogum_tarihi)
VALUES
('Serkan', 'TOGAL', 'E', 'ontedi', '12345678901', '01.01.1980')

INSERT INTO tblKullanicilar(ad, soyad, cinsiyet, kullanici_adi, tc_no, dogum_tarihi)
VALUES
('Asmin Nisa', 'TOGAL', 'K', 'asmin', '12312312322', '01.01.2014')

INSERT INTO tblKullanicilar(ad, soyad, cinsiyet, kullanici_adi, tc_no, dogum_tarihi)
VALUES
('Ahmed İhsan', 'TOGAL', 'E', 'ahmed', '33344455566', '01.01.2016')

INSERT INTO tblKullanicilar(ad, soyad, cinsiyet, kullanici_adi, tc_no, dogum_tarihi)
VALUES
('Yusuf Taha', 'FISTIK', 'E', 'yusuf', '55566677788', '01.02.2016')


Tablo Oluştu



Örnek 1

DECLARE @adiniz VARCHAR(50) = 'Serkan'

IF @adiniz IS NOT NULL
SELECT * FROM tblKullanicilar WHERE ad = @adiniz


Örnek 1 Sonucu



Örnek 2

DECLARE @adiniz VARCHAR(50) = 'Ahmed İhsan'
DECLARE @soyadiniz VARCHAR(50) = 'TOGAL'

IF (@adiniz IS NOT NULL) AND (@soyadiniz IS NOT NULL)
SELECT * FROM tblKullanicilar WHERE ad = @adiniz AND soyad = @soyadiniz


Örnek 2 Sonucu



Örnek 3

DECLARE @cinsiyet VARCHAR(1) = 'K'

IF @cinsiyet = 'K'
SELECT * FROM tblKullanicilar WHERE cinsiyet = 'K'

Örnek 3 Sonucu



Son örneğimizde ise doğum tarihi boş olmayan ve 2015-01-01 tarihinden sonra doğmuş kişileri listeleyelim.
Örnek 4

DECLARE @dogum_tarihi DATE = '2015-01-01'

IF @dogum_tarihi IS NOT NULL
SELECT * FROM tblKullanicilar WHERE dogum_tarihi > @dogum_tarihi

Örnek



Kaynak: SQL'de If Else Kullanımı

Bol sorgulu günler.