>데이터 베이스 >MySQL 튜토리얼 >COUNT(열) 대 COUNT(*): SQL에서 언제 which를 사용해야 합니까?

COUNT(열) 대 COUNT(*): SQL에서 언제 which를 사용해야 합니까?

Patricia Arquette
Patricia Arquette원래의
2025-01-13 15:01:44515검색

COUNT(column) vs. COUNT(*): When Should I Use Which in SQL?

*SQL에서 COUNT(column)와 COUNT()의 차이점에 대한 자세한 설명**

SQL 쿼리에서 count() 함수는 데이터 집계에 사용되지만 일반적으로 사용되는 두 형식 count(column)count(*) 사이에는 미묘하지만 중요한 차이점이 있습니다.

COUNT(열): NULL 값 제외 ​​

count(column) 구문은 지정된 열에서 NULL이 아닌 값의 개수를 계산하여 NULL 열 값이 있는 행을 효과적으로 무시합니다. 이 기능은 열에서 Null이 아닌 값의 개수를 확인해야 할 때 유용합니다.

*COUNT(): NULL 값 포함**

반면 count(*)은 NULL 값이 포함된 행을 포함하여 결과 집합의 행 수를 계산합니다. count(column)과 달리 NULL을 유효한 개수 항목으로 처리합니다. 이 기능은 특정 열에 누락된 데이터가 포함되어 있는지 여부에 관계없이 총 행 수를 가져와야 할 때 유용합니다.

차이점을 보여주는 예시

다음 레코드가 포함된 #bla이라는 테이블을 생각해 보세요.

<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)</code>

count(column)을 사용하여 다음 쿼리를 실행하세요.

<code class="language-sql">select count(id),count(id2)
from #bla</code>

결과는 다음과 같습니다.

<code>3   2</code>

그 중 count(id)id 열에서 NULL이 아닌 값 3개만 계산하는 반면, count(id2)id2 열에서 NULL이 아닌 값 2개만 계산합니다.

그러나 count(*)count(column)으로 바꾸면 다음 쿼리에 표시된 대로 7이 됩니다.

<code class="language-sql">select count(*)
from #bla</code>

이 경우 count(*)에는 NULL 값이 포함되어 있는지 여부에 관계없이 테이블의 7개 행이 포함됩니다. NULL이 아닌 값 계산과 행 계산 간의 이러한 차이는 누락된 데이터가 포함된 데이터 세트를 처리할 때 특히 중요합니다.

위 내용은 COUNT(열) 대 COUNT(*): SQL에서 언제 which를 사용해야 합니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.