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 |