使用SQL中的COUNT(*)函數(shù)對表中的行數(shù)計(jì)
在SQL數(shù)據(jù)庫中,COUNT(*)函數(shù)將返回滿足SELECT語句的WHERE子句中的搜索條件的函數(shù)。下面就將為您介紹一個(gè)使用SQL中COUNT(*)函數(shù)的實(shí)例,供您參考。
實(shí)例: COUNT(*)函數(shù)的使用
查詢TEACHER表中的所有記錄的行數(shù)。實(shí)例代碼:
SELECT COUNT(*) AS TOTALITEM
FROM TEACHER
運(yùn)行結(jié)果如圖8.3所示。
圖8.3 使用COUNT(*)函數(shù)對表中的行數(shù)計(jì)數(shù)
在該例中,SELECT語句中沒有WHERE子句,那么認(rèn)為表中的所有行都滿足SELECT語句,所以SELECT語句將返回表中所有行的計(jì)數(shù),結(jié)果與5.2.1節(jié)的表5-1列出的TEACHER表的數(shù)據(jù)相吻合。
如果DBMS在其系統(tǒng)表中存儲了表的行數(shù),COUNT(*)將很快地返回表的行數(shù),因?yàn)檫@時(shí),DBMS不必從頭到尾讀取表,并對物理表中的行計(jì)數(shù),而直接從系統(tǒng)表中提取行的計(jì)數(shù)。而如果DBMS沒有在系統(tǒng)表存儲表的行數(shù),將具有NOT NULL約束的列作為參數(shù),使用COUNT( )函數(shù),則可能更快地對表行計(jì)數(shù)。
注意 |
COUNT(*)函數(shù)將準(zhǔn)確地返回表中的總行數(shù),而僅當(dāng)COUNT()函數(shù)的參數(shù)列沒有NULL值時(shí),才返回表中正確的行計(jì)數(shù),所以僅當(dāng)受NOT NULL限制的列作為參數(shù)時(shí),才可使用COUNT( )函數(shù)代替COUNT(*)函數(shù)。 |
【編輯推薦】
SQL中求和函數(shù)SUM()的應(yīng)用實(shí)例