Değer Null Olduğunda SQL Durum Bildirimi

Deger Null Oldugunda Sql Durum Bildirimi



Koşullu yürütme, yalnızca belirli bir koşul karşılandığında bir kod bloğunu yürütme yeteneğini ifade eder. Geliştirme aşamasında yaygın bir işlemdir. Örneğin, SQL'de koşullu yürütme gerçekleştirmenin en yaygın yolu CASE deyimini kullanmaktır.

CASE deyimi, bir tablodaki bir veya daha fazla sütunun değerini kontrol ederek ve ardından bu kontrolün sonucuna göre belirli bir kod bloğunu çalıştırarak koşullu mantığı gerçekleştirmemizi sağlar.







Bu eğitim bize, belirli bir değer NULL ise CASE deyiminin nasıl kullanılacağını öğretir.



SQL Vaka Bildirimi

Aşağıda SQL'deki CASE deyiminin sözdizimi gösterilmektedir:



CASE ifadesi
NE ZAMAN değer_1 SONRA sonuç_1
NE ZAMAN değer_2 SONRA sonuç_2
...
BAŞKA default_result
SON


Aşağıdaki örneği göz önünde bulundurun:





masa öğrencileri oluştur (
İD int auto_increment boş birincil anahtar değil,
isim varchar ( elli ) ,
science_score int boş değil,
math_score int boş değil,
history_score int boş değil,
diğer int boş değil
) ;
INSERT INTO öğrenciler ( isim, bilim_skoru, matematik_skoru, tarih_skoru, diğer )
DEĞERLER
( 'John Doe' , 80 , 70 , 90 , 85 ) ,
( 'Jane Smith' , 95 , 85 , 80 , 92 ) ,
( 'Tom Wilson' , 70 , 75 , 85 , 80 ) ,
( 'Sara Lee' , 88 , 92 , 90 , 85 ) ,
( 'Mike Johnson' , 75 , 80 , 72 , 68 ) ,
( 'Emily Chen' , 92 , 88 , 90 , 95 ) ,
( 'Chris Brown' , 85 , 80 , 90 , 88 ) ,
( 'Lisa Kim' , 90 , 85 , 87 , 92 ) ,
( 'Mark Davis' , 72 , 68 , 75 , 80 ) ,
( 'Ava Lee' , 90 , 95 , 92 , 88 ) ;


Örneğin, aşağıdaki örnekte gösterildiği gibi çeşitli seçenekleri değerlendirmek ve belirli bir eylemi döndürmek için CASE deyimini kullanabiliriz:

SEÇME
isim,
bilim_skor,
matematik_puanı,
geçmiş_skor,
diğer,
DAVA
NE ZAMAN ( science_score + math_score + history_score + diğer ) / 4 > = 90 DAHA SONRA 'A'
NE ZAMAN ( science_score + math_score + history_score + diğer ) / 4 > = 80 DAHA SONRA 'B'
NE ZAMAN ( science_score + math_score + history_score + diğer ) / 4 > = 70 DAHA SONRA 'C'
NE ZAMAN ( science_score + math_score + history_score + diğer ) / 4 > = 60 DAHA SONRA 'D'
BAŞKA 'F'
BİTMİŞ OLARAK 'Seviye'
ÖĞRENCİLERDEN;


Sonuç Çıktısı:



Değer Null Olduğunda SQL Durum Bildirimi

Boş değerlerle uğraşırken bir kod bloğunu çalıştırmak için CASE deyimini kullanabiliriz. Ek olarak, NULL değerleri değerlendirmek ve döndürülen değere göre belirli bir eylemi gerçekleştirmek için IS NULL ve IS NOT Null operatörlerini kullanabiliriz.

Aşağıdaki sözdizimi örneğini göz önünde bulundurun:

SEÇME
DAVA
WHEN sütun_adı NULL OLDUĞUNDA SONRA 'Değer boş'
BAŞKA 'Değer boş değil'
sonuç olarak SONLANDIRILDI
tablo_adı'ndan;


Bu durumda, sağlanan sütun_adı değerinin boş olup olmadığını kontrol ederiz. Doğruysa, 'Değer null' döndürürüz. sicim. Aksi takdirde, değer null değilse, 'Değer boş değil' döndürürüz. sicim.

Sonuç dizesi için takma ad olarak AS anahtar sözcüğünü de kullanırız.

Aşağıdaki örnek tabloyu göz önünde bulundurun:

INSERT INTO öğrenciler ( isim, bilim_skoru, matematik_skoru, tarih_skoru, diğer, geçici )
DEĞERLER
( 'John Doe' , 80 , 70 , 90 , 85 , hükümsüz ) ,
( 'Jane Smith' , 95 , 85 , 80 , 92 , hükümsüz ) ,
( 'Tom Wilson' , 70 , 75 , 85 , 80 , 'T' ) ,
( 'Sara Lee' , 88 , 92 , 90 , 85 , 'S' ) ,
( 'Mike Johnson' , 75 , 80 , 72 , 68 , hükümsüz ) ,
( 'Emily Chen' , 92 , 88 , 90 , 95 , hükümsüz ) ,
( 'Chris Brown' , 85 , 80 , 90 , 88 , 'hükümsüz' ) ,
( 'Lisa Kim' , 90 , 85 , 87 , 92 , '' ) ,
( 'Mark Davis' , 72 , 68 , 75 , 80 , hükümsüz ) ,
( 'Ava Lee' , 90 , 95 , 92 , 88 , 'A' ) ;


Daha sonra CASE deyimini kullanarak boş değerler için belirli bir mesaj yazdırabiliriz.

seçme ad, sıcaklık,
DAVA
sıcaklık NULL OLDUĞUNDA 'Değer boş'
BAŞKA 'Değer boş değil'
sonuç olarak SONLANDIRILDI
ÖĞRENCİLERDEN;


Çıktı:

Çözüm

Belirli bir koşulu değerlendirmek ve elde edilen değere göre gerekli bir görevi gerçekleştirmek için SQL CASE deyimiyle nasıl çalışılacağını öğrendik.