国产一区二区精品-国产一区二区精品久-国产一区二区精品久久-国产一区二区精品久久91-免费毛片播放-免费毛片基地

千鋒教育-做有情懷、有良心、有品質的職業教育機構

手機站
千鋒教育

千鋒學習站 | 隨時隨地免費學

千鋒教育

掃一掃進入千鋒手機站

領取全套視頻
千鋒教育

關注千鋒學習站小程序
隨時隨地免費學習課程

當前位置:首頁  >  技術干貨  > 執行count(1)、count(*) 與 count(列名) 到底有什么區別?

執行count(1)、count(*) 與 count(列名) 到底有什么區別?

來源:千鋒教育
發布人:xqq
時間: 2023-10-14 21:31:35 1697290295

一、語義不同

count(1):表示統計查詢結果的行數,不考慮表中的任何列的值,只關心是否存在行。count(*):表示統計查詢結果的行數,與count(1)類似,不考慮表中的任何列的值,只關心是否存在行。count(列名):表示統計指定列的非空值的數量,只統計指定列中不為NULL的行。

二、性能差異

count(1)和count(*):這兩種寫法在大多數數據庫系統中的性能是相同的,因為它們都不關心具體的列值,只關心行的存在與否。count(列名):這種寫法在某些數據庫系統中可能會比count(1)和count(*)性能稍差,因為它需要檢查指定列的值是否為NULL,并排除NULL值的行。

三、對空值的處理不同

count(1)和count(*):不關心表中的具體列值,因此不受空值影響,會將包含NULL值的行也計算在內。count(列名):只統計指定列的非空值,會排除包含NULL值的行,只計算指定列中不為NULL的行

四、使用范圍不同

count(1)和count(*):適用于查詢整個表或滿足特定條件的行數。count(列名):適用于統計特定列的非空值數量。

五、結果集不同

count(1)和count(*):返回的結果集只有一行一列,即表示查詢結果的行數。count(列名):返回的結果集只有一行一列,即表示指定列的非空值數量。

六、可讀性不同

count(1):語義上不夠明確,不容易理解其作用。count(*):語義明確,表示統計行數。count(列名):語義明確,表示統計指定列的非空值數量。

延伸閱讀

COUNT(*)是什么

COUNT(*) 是一種數據庫查詢語句,用于統計某個表中的記錄數或滿足指定條件的記錄數。它返回一個表示記錄數量的整數值。使用 COUNT() 時,數據庫引擎會對指定的表進行掃描,并計算符合條件的記錄數量。 表示選擇所有的列,而不是特定的列名。因此,COUNT(*) 將統計整個表中的記錄數,無論具體的列值是什么。

聲明:本站稿件版權均屬千鋒教育所有,未經許可不得擅自轉載。
10年以上業內強師集結,手把手帶你蛻變精英
請您保持通訊暢通,專屬學習老師24小時內將與您1V1溝通
免費領取
今日已有369人領取成功
劉同學 138****2860 剛剛成功領取
王同學 131****2015 剛剛成功領取
張同學 133****4652 剛剛成功領取
李同學 135****8607 剛剛成功領取
楊同學 132****5667 剛剛成功領取
岳同學 134****6652 剛剛成功領取
梁同學 157****2950 剛剛成功領取
劉同學 189****1015 剛剛成功領取
張同學 155****4678 剛剛成功領取
鄒同學 139****2907 剛剛成功領取
董同學 138****2867 剛剛成功領取
周同學 136****3602 剛剛成功領取
相關推薦HOT