[sql] SQL HAVING 절을 사용하여 그룹화된 데이터의 특정 값을 다른 값으로 변경하기

관계형 데이터베이스에서 데이터를 집계하거나 그룹화하고자 할 때, SQL의 GROUP BY 구문을 사용합니다. 이때, HAVING 절은 그룹화된 데이터에 필터링 조건을 적용할 수 있는데, 이를 이용하여 특정 값을 다른 값으로 변경할 수 있습니다.

보통 HAVING 절은 집계 함수를 이용해서 그룹화된 데이터를 필터링하기 위해 사용되지만, 때때로 특정 값을 다른 값으로 변경하고자 할 때도 활용됩니다.

예를 들어, 아래의 쿼리는 HAVING 절을 사용하여 그룹화된 데이터의 특정 값을 다른 값으로 변경하는 방법을 보여줍니다.

SELECT department, COUNT(*) as employee_count
FROM employees
GROUP BY department
HAVING employee_count > 5

이 쿼리는 employees 테이블을 department 컬럼을 기준으로 그룹화하고, 각 그룹의 직원 수를 센 후에, 그 직원 수가 5명 이상인 그룹만을 반환합니다.

위 예시에서, employee_countHAVING 절에서 사용될 수 있는 별칭(alias)이며, 이를 이용하여 특정 값을 필터링하는 용도로 사용되었습니다.

여기서 중요한 점은, HAVING 절은 GROUP BY와 함께 사용되어야 하며, WHERE 절이 데이터를 필터링할 때 사용되는 것과 대비되는 점입니다. WHERE 절은 개별 레코드를 필터링할 때 사용되고, HAVING 절은 그룹화된 데이터를 필터링할 때 사용됩니다.

이를 통해, HAVING 절을 이용하여 그룹화된 데이터의 특정 값을 다른 값으로 변경하는 방법을 살펴보았습니다. 이런 방식으로 SQL을 활용하면 데이터의 집계와 필터링을 보다 유연하게 수행할 수 있습니다.