반응형
SQL에서 HAVING 절은 그룹화된 데이터에 대해 조건을 적용할 때 사용됩니다. 일반적으로 GROUP BY와 함께 사용되며, 그룹화된 데이터의 집계 결과에 조건을 걸기 위해 활용됩니다.
주요 특징:
- WHERE 절은 개별 행(row)에 조건을 적용하지만, HAVING 절은 그룹화된 데이터에 조건을 적용합니다.
- 집계 함수(SUM, AVG, COUNT, MAX, MIN 등)와 함께 자주 사용됩니다.
기본 구조:
SELECT 컬럼1, 집계함수(컬럼2)
FROM 테이블
GROUP BY 컬럼1
HAVING 집계함수(컬럼2) 조건;
예시
1. 직원 테이블에서 부서별 평균 급여가 5000 이상인 부서만 조회:
SELECT 부서, AVG(급여) AS 평균급여
FROM 직원
GROUP BY 부서
HAVING AVG(급여) >= 5000;
2. 상품 테이블에서 판매량이 100개 이상인 상품 그룹 조회:
SELECT 상품종류, SUM(판매량) AS 총판매량
FROM 상품
GROUP BY 상품종류
HAVING SUM(판매량) >= 100;
WHERE와 HAVING의 차이:
- WHERE: 그룹화 전에 조건을 걸 때 사용.
- HAVING: 그룹화된 결과에 조건을 걸 때 사용.
예시: WHERE와 HAVING 비교
-- WHERE를 사용하는 경우 (개별 데이터 필터링)
SELECT 부서, 급여
FROM 직원
WHERE 급여 > 3000;
-- HAVING을 사용하는 경우 (집계 결과 필터링)
SELECT 부서, SUM(급여) AS 총급여
FROM 직원
GROUP BY 부서
HAVING SUM(급여) > 10000;
이처럼 HAVING은 그룹화 후 데이터를 제한하고, WHERE은 그룹화 전에 데이터를 제한하는 데 적합합니다.
반응형
'🖥️ IT, 컴퓨터 > 🏁 SQL・빅쿼리' 카테고리의 다른 글
[SQL] INNER JOIN, LEFT JOIN, RIGHT JOIN, FULL OUTER JOIN 차이점 (0) | 2024.11.24 |
---|---|
[SQL] LIKE란? (0) | 2024.11.24 |
[SQL] `CASE WHEN` 구문이란? (0) | 2024.11.24 |
[SQL] UPDATE문이란 (0) | 2024.10.30 |
[BigQuery] 빅쿼리에 CARTO 설치해서 지리함수 쓰기 (0) | 2024.07.15 |
댓글