folder Tahribat.com Forumları
linefolder Database - Veritabanı
linefolder SQL'de If Else Kullanımı



SQL'de If Else Kullanımı

  1. KısayolKısayol reportŞikayet pmÖzel Mesaj
    camarade
    ontedi
    ontedi's avatar
    Kayıt Tarihi: 04/Eylül/2005
    Erkek

    Ç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ı


    Matematikçi ve Yazılımcı. http://www.ontedi.com ve http://www.cizgi.site Siteme beklerim herkesi.
  2. KısayolKısayol reportŞikayet pmÖzel Mesaj
    SkynetX
    SkynetX's avatar
    Kayıt Tarihi: 06/Şubat/2015
    Erkek

    Sadece Sql server da mı var yoksa mysql falan da var mı hocam?

    şimdiye kadar mysql tarafında hiç böyle bir şey görmedim. cahilliğime ver

  3. KısayolKısayol reportŞikayet pmÖzel Mesaj
    zeybekustasi
    zeybekustasi's avatar
    Kayıt Tarihi: 24/Mayıs/2012
    Erkek

    "CASE WHEN" de bu işi yapıyor. Mssql mysql oracle ve db2 da geçerlidir. 


    https://www.youtube.com/watch?v=WC3-71NKwPw
  4. KısayolKısayol reportŞikayet pmÖzel Mesaj
    motka
    motka's avatar
    Kayıt Tarihi: 28/Ekim/2012
    Erkek

    Anlatım için teşekkürler hocam eline sağlık.

Toplam Hit: 1481 Toplam Mesaj: 4
sql if else