Bu biraz zor. Tablonun yalnızca bir sütunu olduğunu varsayalım, o zaman Say (1) ve Say (*) farklı değerler verir.
set nocount on
declare @table1 table (empid int)
insert @table1 values (1),(2),(3),(4),(5),(6),(7),(8),(9),(10),(NULL),(11),(12),(NULL),(13),(14);
select * from @table1
select COUNT(1) as "COUNT(1)" from @table1
select COUNT(empid) "Count(empid)" from @table1
Sorgu Sonuçları
Resimde gördüğünüz gibi, ilk sonuç tablonun 16 satırı olduğunu gösterir. bunlardan iki satır NULL. Kullandığımız Yani Count (*) biz 16 Ama durumunda sayım sonucu aldığım Yani, satır sorgu motoru sayımları numarayı Sayısı (EmpID) o sütun NULL olmayan değer çiftlerini sayılır EmpID . Böylece sonucu 14 olarak aldık.
COUNT (Sütun) kullandığımızda, aşağıda gösterildiği gibi NULL değerlere özen gösterdiğimizden emin olun.
select COUNT(isnull(empid,1)) from @table1
hem NULL hem de NULL olmayan değerleri sayar.
Not : Tablo birden çok sütundan oluşsa bile aynı şey geçerlidir. Sayı (1), NULL / NULL olmayan değerlerden bağımsız olarak toplam satır sayısını verecektir. Yalnızca sütun değerleri Say (Sütun) kullanılarak sayıldığında, NULL değerlerine dikkat etmemiz gerekir.