Bugün oldukça önemli olan ancak pek de dikkat edilmeyen/bilinmeyen bir konu hakkında kısa bilgi vereceğim.
NULL alanlar ile Gruplama Fonksiyonları arasındaki ilişkiden bahsedeceğim.
NULL, yani değer girilmemiş alanlar. Gruplama fonksiyonları, NULL alanları değerlendirmeye katmaz. Konunun özü aslında bu. :) Örneğin:
select min(ücret) from personel;
yazdığınızda size girilen alanlar arasından en küçüğünü döndürecektir. Girilmemiş alanları göz önüne almaz. Tabi böyle bir durumla karşılaşmamak istiyorsanız, NOT NULL constraint'ini koyabilirsiniz.
Daha acı tecrübe olarak şu örneği vereyim:
select count(*) from personel;
select count(ücret) from personel;
Bu iki ifade birbirinden FARKLIDIR! İlk ifade, personel tablosundaki tüm satırların sayısını bize döndürür. Ancak ikinci ifade bize "ücret" kolonundaki satır sayısını döndürür, NULL alanlar HARİÇ! Yani ücreti girilmemiş personel(ler) varsa, bu iki sorgudan dönen sayı farklı olacaktır. Bu ayrıma dikkat etmek gerek. :)
Hiç yorum yok:
Yorum Gönder