Post

11 - IF...ELSE

11 - IF…ELSE

11.1 - Tek IF ifadesi

Diğer programlama dillerinin çoğunda olduğu gibi T-SQL de IF..ELSE ifadelerini destekler.

Örneğin aşağıdaki örnekte 1 = 1, Doğru olarak değerlendirilen ve kontrolün girdiği ifadedir. BEGIN..END bloğu ve Print ifadesi ‘Bir eşittir Bir’ dizesini yazdırır.

1
2
3
4
IF ( 1 = 1)
BEGIN
  PRINT 'Bir eşittir Bir'
END

11.2 - Çoklu IF İfadeleri

Birbirinden tamamen bağımsız birden fazla ifadeyi kontrol etmek için birden fazla IF ifadesini kullanabiliriz.

Aşağıdaki örnekte, her IF ifadesi değerlendirilir ve eğer doğruysa BEGIN…END içindeki kod bloğu yürütülür.

Bu özel örnekte, Birinci ve Üçüncü ifadeler doğrudur ve yalnızca yazdırılanlar doğrudur. ifadeler yürütülecek

1
2
3
4
5
6
7
8
9
10
11
12
13
14
IF (1 = 1) -- Bu doğru
BEGIN
  PRINT 'Birinci IF doğruysa' -- burası çalışacaktır
END

IF (1 = 2)
BEGIN
  PRINT 'İkinci IF doğruysa'
END

IF (3 = 3) -- Bu doğru
BEGIN
  PRINT 'Üçüncü IF doğruysa' -- burası çalışacaktır
END

11.3 - Tek IF..ELSE ifadesi

Tek bir IF..ELSE ifadesinde, eğer ifade True olarak değerlendirilirse, kontrol ilk sıraya girer. BEGIN..END bloğu ve yalnızca o bloğun içindeki kod yürütülür, ELSE bloğu basitçe göz ardı edilir.

Öte yandan, eğer ifadesi False olarak değerlendirilirse ELSE BEGIN..END bloğu yürütülür ve kontrol asla ilk BEGIN..END Bloğuna girmez.

Aşağıdaki örnekte ifade false olarak değerlendirilecek ve ELSE bloğu yazdırılacaktır.

1
2
3
4
5
6
7
8
IF ( 1 <> 1)
BEGIN
  PRINT 'Bir eşittir bir'
END
ELSE
BEGIN
  PRINT 'İlk ifade doğru değil'
END

11.4 - Çoklu IF…ELSE ifadeleri

Çoğu zaman, birden çok ifadeyi kontrol etmemiz ve bu ifadelerin sonuçlarına göre belirli eylemleri gerçekleştirmemiz gerekebilir. Bu durumu ele almak için birden çok IF…ELSE IF ifadesi kullanılır.

Aşağıdaki örnekte, tüm ifadeler üstten alta doğru değerlendirilir. Bir ifade true olarak değerlendirildiğinde, o blok içindeki kod çalıştırılır. Eğer hiçbir ifade true olarak değerlendirilmezse, hiçbir şey çalıştırılmaz.

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
IF (1 = 1 + 1)
BEGIN
    PRINT 'İlk If Koşulu'
END
ELSE IF (1 = 2)
BEGIN
    PRINT 'İkinci If Else Bloğu'
END
ELSE IF (1 = 3)
BEGIN
    PRINT 'Üçüncü If Else Bloğu'
END
ELSE IF (1 = 1) -- Bu True
BEGIN
    PRINT 'Son Else Bloğu' -- Sadece bu ifade yazdırılacak
END

11.5 - Son ELSE olan birden fazla IF…ELSE ifadeleri

Eğer birden çok IF…ELSE IF ifadesi bulunuyorsa ve hiçbiri True olarak değerlendirilmezse, o zaman hiçbiri ifade True olmadığında çalışacak bir kod parçasını da yürütmek istiyorsak, basitçe sona bir ELSE bloğu ekleyebiliriz.

Aşağıdaki örnekte, hiçbir IF veya ELSE IF ifadesi True olarak değerlendirilmediğinde sadece ELSE bloğu çalışır ve ‘Başka bir ifade True değil’ mesajını yazdırır:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
IF (1 = 1 + 1)
BEGIN
    PRINT 'İlk If Koşulu'
END
ELSE IF (1 = 2)
BEGIN
    PRINT 'İkinci If Else Bloğu'
END
ELSE IF (1 = 3)
BEGIN
    PRINT 'Üçüncü If Else Bloğu'
END
ELSE
BEGIN
    PRINT 'Başka bir ifade True değil' -- Sadece bu ifade yazdırılacak
END
This post is licensed under CC BY 4.0 by the author.