ORACLE SQL

ORACLE SQL HAVING과 WHERE의 차이점

최종군 2024. 8. 2. 21:59

 

 

 

 

주요 사용 사례와 예시 : 

 

WHERE: 

그룹화되기 전에 각 개별 행에 조건을 적용합니다 

집계 함수와 함께 사용할 수 없습니다

 

SELECT department_id, COUNT(*)
FROM employees
GROUP BY department_id
HAVING COUNT(*) >= 10;

 

HAVING절 : 

그룹화된 후에 그룹에 조건을 적용합니다 

집계 함수와 함께 사용할 수 있습니다 

 

 

SELECT department_id, COUNT(*)
FROM employees
WHERE salary > 30000  -- 개별 행에 조건 적용
GROUP BY department_id
HAVING COUNT(*) >= 5; -- 그룹화된 결과에 조건 적용

 

 

HAVING절은 그룹화된 데이터에 대해 조건을 적용할 때 꼭 필요한 도구이다.

 

GROUP BY 절과 함께 사용되어 집계 함수의 결과에 조건을 부여함으로써

원하는 그룹만을 선택할 수 있게 해줍니다.

 

WHERE 절은 그룹화되기 전 개별 행에 조건을 적용하는 반면,

 

HAVING 절은 그룹화된 결과에 조건을 적용하는 점에서 차이가 있다