使用SQL中的COUNT(*)函数对表中的行数计


  本文标签:SQL COUNT(*)函数

  在SQL数据库中,COUNT(*)函数将返回满足SELECT语句的WHERE子句中的搜索条件的函数  。下面就将为您介绍一个使用SQL中COUNT(*)函数的实例,供您参考  。

  实例: COUNT(*)函数的使用

  查询TEACHER表中的所有记录的行数  。实例代码:

  SELECT COUNT(*) AS TOTALITEM

  FROM     TEACHER

  运行结果如图8.3所示  。

图8.3

图8.3 使用COUNT(*)函数对表中的行数计数

  在该例中,SELECT语句中没有WHERE子句,那么认为表中的所有行都满足SELECT语句,所以SELECT语句将返回表中所有行的计数,结果与5.2.1节的表5-1列出的TEACHER表的数据相吻合  。

  如果DBMS在其系统表中存储了表的行数,COUNT(*)将很快地返回表的行数,因为这时,DBMS不必从头到尾读取表,并对物理表中的行计数,而直接从系统表中提取行的计数  。而如果DBMS没有在系统表存储表的行数,将具有NOT NULL约束的列作为参数,使用COUNT( )函数,则可能更快地对表行计数  。

  

注意

  COUNT(*)函数将准确地返回表中的总行数,而仅当COUNT()函数的参数列没有NULL值时,才返回表中正确的行计数,所以仅当受NOT NULL限制的列作为参数时,才可使用COUNT( )函数代替COUNT(*)函数  。