COUNT(*)와 COUNT(column_name)의 차이점 이해
MySQL은 COUNT(*)와 COUNT(라는 두 가지 계산 함수를 제공합니다. 열_이름). 두 함수 모두 결과 집합의 행 수를 계산하지만 NULL 값을 처리하는 방식이 다릅니다.
COUNT(*)
COUNT(column_name)
주요 차이점
Feature | COUNT(*) | COUNT(column_name) |
---|---|---|
NULL Values | Includes rows with NULL values | Excludes rows with NULL values |
Performance | May be slower in some cases even if the column has no NULL values | Generally slower due to the need to check each value |
COUNT(1)
COUNT(1) COUNT(*)와 동일합니다. 1은 결코 NULL이 될 수 없기 때문입니다. 따라서 결과 집합의 모든 행도 계산됩니다.
예
"table1"이라는 다음 테이블을 고려해 보세요.
CREATE TABLE table1 (x INT NULL); INSERT INTO table1 (x) VALUES (1), (2), (NULL);
이제 , 세 가지 카운트의 결과를 비교해 보겠습니다. 함수:
SELECT COUNT(*) AS a, COUNT(x) AS b, COUNT(1) AS c FROM table1;
결과:
a b c 3 2 3
보시다시피 COUNT()는 NULL 값에 관계없이 세 행을 모두 계산합니다. "x" 열. COUNT(x)는 NULL 값이 있는 행을 제외하여 개수가 2가 됩니다. COUNT(1)은 1이 NULL이 될 수 없으므로 COUNT()와 동일한 결과를 생성합니다.
위 내용은 COUNT(*) 대 COUNT(column_name): MySQL의 차이점은 무엇입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!