GROUP BY와 HAVING은 데이터를 그룹화하고 집계하는 데 중요한 역할을 합니다. 하지만 두 절 간에는 몇 가지 차이점이 있습니다.
GROUP BY
GROUP BY
절은 데이터를 그룹화할 때 사용됩니다. 특정 열을 기준으로 데이터를 그룹화하고, 각 그룹 내에서의 집계 함수를 계산할 수 있도록 해줍니다. 이를 통해 데이터를 특정 기준에 따라 묶을 수 있습니다.
예를 들어, SELECT department, AVG(salary) FROM employee GROUP BY department
와 같은 쿼리는 각 부서별 평균 급여를 계산할 수 있습니다.
HAVING
HAVING
절은 GROUP BY
절 뒤에 사용되며, 그룹화된 결과 집합에 대한 조건을 지정할 때 사용됩니다. 이를 통해 특정 조건을 만족하는 그룹만을 필터링할 수 있습니다.
예를 들어, SELECT department, AVG(salary) FROM employee GROUP BY department HAVING AVG(salary) > 50000
와 같은 쿼리는 평균 급여가 50000 이상인 부서만을 결과로 보여줍니다.
차이점
주요 차이점은 GROUP BY
는 데이터를 그룹화할 때 사용되고, HAVING
은 그룹화된 데이터에 조건을 적용할 때 사용된다는 것입니다. 즉, GROUP BY
는 그룹을 지정하고, HAVING
은 그룹을 필터링하는 역할을 합니다.
따라서, GROUP BY
는 집계된 데이터를 그룹화하는 데 사용되고, HAVING
은 해당 그룹에 조건을 적용하여 그룹을 필터링하는 데 사용됩니다.
위의 내용을 토대로 GROUP BY
와 HAVING
의 차이점을 이해하고, 각각의 적절한 상황에서 사용할 수 있도록 하시기 바랍니다.