데이터 베이스(Oracle)

GROUP BY&HAVING&집합연산자2

alsdnr6672 2024. 7. 25. 18:07

HAVING

:그룹에 대한 조건을 재시할 때 사용되는 구분 (보통 그룹함수식을 가지고 주건을 작성함)

 

--각 부서별 평균 급여가 300만원 이상인 부서만 조회
SELECT DEPT_CODE,ROUND(AVG(SALARY))
FROM EMPLOYEE
--WHERE AVG(SALARY) >= 3000000; --WHERE절에서는 그룹함수 사용불가
GROUP BY DEPT_CODE
HAVING AVG(SALARY) >= 3000000;

--직급 별 직급코드, 총 급여합 조회 (단, 직급별 급여 합이 1000만원 이상인 직급만 조회)
SELECT JOB_CODE, SUM(SALARY)
FROM EMPLOYEE
GROUP BY JOB_CODE
HAVING SUM(SALARY) >= 10000000;

--부서별 보너스를 받는 사원이 없는 부서의 부서코드 조회
SELECT DEPT_CODE
FROM EMPLOYEE
--WHERE BONUS IS NULL --부서 상관없이 보너스가 NULL인 사원들을 먼저 컬러냄
GROUP BY DEPT_CODE
HAVING COUNT(BONUS) = 0;    --그룹화한 후에 COUNT함수를 사용하여 BONUS받는 사원이 없는 조건을 제시

 

 

 

 

 

'데이터 베이스(Oracle)' 카테고리의 다른 글

GROUP BY&HAVING&집합연산자4  (0) 2024.07.25
GROUP BY&HAVING&집합연산자3  (1) 2024.07.25
GROUP BY&HAVING&집합연산자  (1) 2024.07.23
그룹 함수  (1) 2024.07.23
숫자 타입의 데이터 처리 함수2  (1) 2024.07.23