✍ count의 다양한 활용에 대해 알아보겠습니다.
아래 사이트에서 실습을 진행했습니다.
www.w3schools.com/sql/trysql.asp?filename=trysql_select_all
count() 함수는 말 그대로 괄호 안 항목의 개수를 카운트합니다.
1. COUNT(*)
🔷 쿼리
SELECT COUNT(*)
FROM Customers;
🔷 결과
위의 예시는 모든 것을 뜻하는 (*)을 이용해 COUNT했습니다.
즉, row 개수를 카운트하는 것과 마찬가지입니다.
2. COUNT(1)
🔷 쿼리
SELECT COUNT(1)
FROM Customers;
🔷 결과
COUNT(1)은 COUNT(*)와 결과가 같습니다. 서버 내부 동작이 빠르게 작용한다는 이점이 있다고 합니다.
COUNT(1) = COUNT(*)!!!
3. COUNT(column명)
count(column명)은 위에서 이용했던 결과와 다릅니다.
null값을 포함하느냐 안하느냐의 차이가 있습니다.
column명을 지정해주면 null값을 제외한 row 개수를 반환합니다.
코드와 결과로 바로 알아보겠습니다.
🔷 쿼리
select count(*)
from order_details;
🔷 결과
🔷 쿼리
select count(purchase_order_id)
from order_details;
🔷 결과
count(*)일때와 count(purchase_order_id)일때 결과값이 다른 것을 확인할 수 있습니다.
따라서 어떤 의도로 count를 쓰는지 정확히 파악한 후에 괄호안의 값을 지정해야합니다.
정리
✍ COUNT(*) = COUNT(1)
✍ COUNT(*) - NULL 포함
✍ COUNT(column명) - NULL 제외
'SQL' 카테고리의 다른 글
[SQL 챌린지] 해커랭크 정복하기 Day 9 (0) | 2021.03.11 |
---|---|
[SQL 챌린지] 해커랭크 정복하기 Day 9 (0) | 2021.03.11 |
[SQL 챌린지] 해커랭크 정복하기 Day 8 (0) | 2021.03.05 |
[SQL 챌린지] 해커랭크 정복하기 Day 8 (0) | 2021.03.05 |
[SQL 챌린지] 해커랭크 정복하기 Day 7 (0) | 2021.03.03 |