집 >데이터 베이스 >MySQL 튜토리얼 >COUNT(열) 대 COUNT(*): SQL에서 언제 which를 사용해야 합니까?
*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 중국어 웹사이트의 기타 관련 기사를 참조하세요!