SQL ile NULL kayıtları Bulmak
Tablomuzdaki veri girişleri esnasında bazı alanlara veriler girilmemiş
olabilir. Bu durumda veritabanından çekilen raporlarda bazı hatalar
oluşabileceği gibi ortaya çıkan spnuçlar da yanıltıcı olabilir. Oluşturacağımız
sorgu ile tablomuzdaki boş kayıtları göz ardı ederek daha sağlıklı sonuçlar elde
edebiliriz. Bunun için WHERE ifadesinden sonra IS NULL operatörü ile boş
kayıtlar seçilebileceği gibi IS NOT NULL operatörü ile de boş olmayan
kayıtlar seçilebilir.
Not: NULL değer ile 0 değeri birbirinin aynısı değildir. İlgili alana sıfır
değeri girilmiş olsa bile o alan NULL yani boş değildir.
Boş kayıtları bulmak için kullanım biçimi:
SELECT alan_ad(lari)
FROM tablo_adi
WHERE alan_adi IS NULL |
Boş olmayan kayıtları bulmak için kullanım biçimi:
SELECT alan_ad(lari)
FROM tablo_adi
WHERE alan_adi IS NOT NULL |
Aşağıdaki gibi Urunler tablomuz olsun
id |
Urun_adi |
Fiyat |
Stok |
1 |
Buzdolabı |
1500 |
10 |
2 |
LCD TV |
1850 |
5 |
3 |
Çamaşır
Makinesi 1000 Devir |
|
1 |
4 |
Çamaşır
Makinesi 800 Devir |
850 |
1 |
Örnek1:
SELECT Urun_adi, fiyat
FROM Urunler
WHERE Fiyat IS NULL
Çıktısı:
Urun_adi |
Fiyat |
Çamaşır
Makinesi 1000 Devir |
|
Tablomuzda fiyatı olmayan ürünlerin listesini almak için yukarıdaki kod
kullanılabilir..
Örnek2:
SELECT
Urun_adi,(stok*fiyat) AS Stok_degeri
FROM Urunler
WHERE Fiyat IS NOT NULL
Çıktısı:
Urun_adi |
Stok_degeri |
Buzdolabı |
15000 |
LCD TV |
9250 |
Çamaşır
Makinesi 800 Devir |
850 |
Ürünlerin stok adedi ile birim fiyatını çarparak elimizdeki ürünlerin toplam
değerini bulabiliriz. Ancak fiyatın boş olduğu durumda stok adedi ile çarpımda
sorun olacaktır. Bu sebeple IS NOT NULL kullanılarak fiyat alanı boş olan kayıt
hesaplamaya dahil edilmemiştir.