SQL ile NULL kayıtları Bulmak
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.