SQL Server’da COUNT Fonksiyonu ve NULL Değerler

Herkese merhaba,

Bu yazıda SQL Server’da COUNT fonksiyonu ve NULL değerler hakkında bilgi vereceğim.

COUNT fonksiyonu ve NULL değerler demekle neyi kastediyorum kısaca açıklayayım.

COUNT fonksiyonu bildiğiniz üzere belirtilen alandaki veya tablodaki toplam kayıt sayısını veriyor.

Anlatıma aşağıdaki örnek üzerinden devam edeceğim.

--Tablonun oluşturulması

CREATE TABLE TabloDegerleri
(
    ID INT PRIMARY KEY IDENTITY(1, 1),
    Ad NVARCHAR(50)
);


--Tabloya veri eklenmesi

INSERT INTO dbo.TabloDegerleri
SELECT 'YAVUZ' UNION ALL
SELECT NULL UNION ALL
SELECT 'PELİN' UNION ALL
SELECT NULL UNION ALL
SELECT 'BİLGE' UNION ALL
SELECT 'HASAN' UNION ALL
SELECT 'MUSTAFA' 


--COUNT Fonksiyonu Kullanımı İncelenmesi

SELECT
COUNT(Ad) AS SayacDegeri_1
,COUNT(*) AS SayacDegeri_2
,COUNT(1) AS SayacDegeri_3
FROM TabloDegerleri;

Yukarıdaki kod bloğunu çalıştırdığınızda aşağıdaki sonucu göreceksiniz.

SQL Server'da COUNT Fonksiyonu ve NULL Değerler

Gördüğünüz üzere bir tablo oluşturdum ve sonrasında içerisine değerler girdim. Şimdi COUNT fonksiyonunu incelemek için yazdığım SELECT sorgusunu inceleyelim.

COUNT(Ad)  dediğim zaman NULL değerleri hiç hesaba katmadan kayıt sayısını bizlere getirmiş oldu. Kısaca 7 kayıttan 5 adetini bizlere saydı. 2 adet NULL kaydın sayısını düşerek bize sonucu verdi.

COUNT(1) ve COUNT(*)  dediğim zaman NULL değerleri hesaba katarak 7 adet kayıt sayısını bizlere getirmiş oldu. COUNT(1) ve COUNT(*) birbirinin yerine kullanılabilir yapılardır. Her ikisi de aynı sonucu verir. Her ikisi de NULL değerleri göz ardı etmez ve her ikisi de belirli bir tablonun satır sayısını döndürür. Tabi dikkat etmeniz gereken bir nokta var. Kolon sayısı fazla olan tablolarda performans sorunları nedeniyle COUNT(*) dikkatli kullanılmalıdır.

Bu farkı birçoğunuz biliyor da olabilir bilmiyor da olabilir faydalı olması açısından anlatmak istedim.

Herkese çalışma hayatında ve yaşamında başarılar kolaylıklar.

574 Kez Okundu

Yavuz Selim Kart

Yazılım ve veri tabanında bildiklerimi anlatmaya gayret ediyorum. Halen birçok programlama dili üzerinde araştırmalar yaparak kendimi geliştiriyorum. Bunlar haricinde Grafik Tasarım ve Wordpress konularına da ilgim bulunmakta. SEO ve Sosyal medya yönetimleri hakkında da bilgim mevcuttur. Kısaca çok çalışmayı seven azimli biriyim.

You may also like...

Yazı kopyalamak yasaktır!