다음 두 쿼리의 결과 차이점을 올바르게 설명한 것은?
다음 두 쿼리의 결과 차이점을 올바르게 설명한 것은?
-- 쿼리 A
SELECT COUNT(CustomerID), Country
FROM Customers
WHERE COUNT(CustomerID) > 5
GROUP BY Country;
-- 쿼리 B
SELECT COUNT(CustomerID), Country
FROM Customers
GROUP BY Country
HAVING COUNT(CustomerID) > 5;
정답: B
⦁ 쿼리 A의 문제점:
⦁ WHERE 절에서 집계 함수
COUNT(CustomerID)
를 사용했습니다⦁ WHERE 절은 개별 행에 대한 조건만 처리 가능하며, 집계 함수는 사용할 수 없습니다
⦁ 실행 시 "Invalid use of group function" 오류가 발생합니다
⦁ 쿼리 B의 정상성:
⦁ GROUP BY로 먼저 그룹화한 후 HAVING에서 집계 함수 조건을 적용합니다
⦁ 올바른 문법으로 정상 실행되어 고객 수가 5명 초과인 국가들을 반환합니다
⦁ 핵심 원칙: 집계 함수 조건은 반드시 HAVING 절에서 사용해야 합니다
💡 학습 팁
이 문제를 포함한 MySQL 과목의 모든 문제를 순차적으로 풀어보세요. 진행상황이 자동으로 저장되어 언제든지 이어서 학습할 수 있습니다.