SQL의 HAVING 절과 집계 함수(Aggregate Function) 관계 정리
HAVING 절이 포함된 SQL 쿼리에서는 SELECT 절에 집계 함수가 반드시 포함되어야 하는가?
→ 정답: 거짓(False)
HAVING 절은 GROUP BY에 의해 그룹화된 데이터에 대해 집계 함수의 결과를 기준으로 필터링할 때 사용된다.WHERE 절은 집계 전에 각 행을 필터링하고, HAVING 절은 집계 후 필터링을 수행한다.HAVING 절에서 사용된 집계 함수는 반드시 SELECT 절에 나타날 필요는 없다.SELECT department, COUNT(employee_id) AS emp_count
FROM employees
GROUP BY department
HAVING COUNT(employee_id) > 5;
COUNT(employee_id) 집계 함수는 SELECT 절과 HAVING 절 모두에 사용되었다.SELECT department
FROM employees
GROUP BY department
HAVING COUNT(employee_id) > 5;
COUNT(employee_id)는 HAVING 절에만 사용되며, SELECT 절에는 포함되지 않았다.| 항목 | 설명 |
|---|---|
HAVING 절 | 반드시 GROUP BY와 함께 사용해야 하는 것은 아니지만, 일반적으로는 그룹화된 데이터에 적용한다. |
| 집계 함수 | SUM, AVG, COUNT, MIN, MAX 등과 같은 함수들이 이에 해당한다. |
| 필터링 목적 | 집계된 값을 기준으로 행을 걸러낼 때 HAVING이 사용된다. |
HAVING 절이 포함된 SQL 쿼리에서는 SELECT 절에 집계 함수가 반드시 포함되어야 한다. → 거짓(False)
이유: HAVING 절은 집계 결과를 필터링하는 역할을 하지만, 그 기준이 되는 집계 함수가 반드시 출력 대상(SELECT)에 포함되어야 하는 것은 아니기 때문이다.