> 데이터 베이스 > MySQL 튜토리얼 > COUNT(*) 대 COUNT(열): SQL 행 계산의 차이점은 무엇입니까?

COUNT(*) 대 COUNT(열): SQL 행 계산의 차이점은 무엇입니까?

Susan Sarandon
풀어 주다: 2025-01-13 15:11:43
원래의
771명이 탐색했습니다.

COUNT(*) vs. COUNT(Column): What's the Difference in SQL Row Counting?

*SQL의 COUNT()와 COUNT(열)의 차이점**

SQL에서 집계 함수 COUNT(*) 및 COUNT(열)는 각각 테이블의 데이터 행과 열을 계산하는 다양한 메커니즘을 제공합니다.

COUNT() NULL 값을 제외하고 지정된 테이블의 모든 행을 계산합니다. 즉, COUNT()는 데이터가 포함된 열에 관계없이 NULL이 아닌 행의 총 개수를 반환합니다.

반면 COUNT(column)은 지정된 열이 NULL이 아닌 행의 개수를 셉니다. 이를 통해 특정 열에서 NULL이 아닌 값을 선택적으로 계산할 수 있습니다.

*COUNT(열)**을 COUNT(

)로 교체

쿼리에서 COUNT(column_name)의 모든 인스턴스를 COUNT(*)로 바꾸면 다음과 같은 효과가 있습니다.

  • 결과 집합에는 column_name에 대한 NULL 값과 열의 NULL 값 수를 나타내는 개수가 포함된 추가 행이 포함됩니다.

데모

이 차이점을 설명하기 위해 원래 질문에 설명된 시나리오를 재현해 보겠습니다.

<code class="language-sql">create table #bla(id int,id2 int)
insert #bla values(null,null)
insert #bla values(1,null)
insert #bla values(null,1)
insert #bla values(1,null)
insert #bla values(null,1)
insert #bla values(1,null)
insert #bla values(null,null)

select count(*),count(id),count(id2)
from #bla</code>
로그인 후 복사

결과:

<code>7   3   2</code>
로그인 후 복사

이 예에서 COUNT(*) 열은 id와 id2가 모두 NULL인 두 행을 포함하여 7개 행을 모두 계산합니다. COUNT(id) 열은 id가 NULL이 아닌 3개의 행만 계산하는 반면, COUNT(id2)는 id2가 NULL이 아닌 2개의 행만 계산합니다.

위 내용은 COUNT(*) 대 COUNT(열): SQL 행 계산의 차이점은 무엇입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

원천:php.cn
본 웹사이트의 성명
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.
저자별 최신 기사
인기 튜토리얼
더>
최신 다운로드
더>
웹 효과
웹사이트 소스 코드
웹사이트 자료
프론트엔드 템플릿