< HAVING 절 >
그룹에 대한 조건을 제시할 때 사용되는 구문 (주로 그룹함수식을 가지고 조건을 제시함)
- 각 부서별 평균급여
SELECT DEPT_CODE,ROUND( AVG(SALARY))
FROM EMPLOYEE
GROUP BY DEPT_CODE;
-부서별 평균 급여가 300만원 이상인 부서만을 조회
SELECT DEPT_CODE,ROUND(AVG(SALARY))
FROM EMPLOYEE
GROUP BY DEPT_CODE
HAVING AVG(SALARY)>=3000000;
-부서가 D1 또는 D9인 부서만을 조회
SELECT DEPT_CODE,ROUND(AVG(SALARY))
FROM EMPLOYEE
GROUP BY DEPT_CODE
HAVING DEPT_CODE IN ('D1','D9');
-직급별 총 급여합 (단, 직급별 급여합이 1000만원 이상인 직급만 조회)
SELECT JOB_CODE,SUM(SALARY)
FROM EMPLOYEE
GROUP BY JOB_CODE
HAVING SUM(SALARY)>=10000000;
-부서별 보너스를 받는 사원이 없는 부서만을 조회
SELECT DEPT_CODE, COUNT(BONUS)
FROM EMPLOYEE
GROUP BY DEPT_CODE
HAVING COUNT(BONUS) = 0;
< SELECT 문 실행순서 >
5: SELECT * | 조회하고자하는 컬럼 [AS] "별칭" | 산술연산식 [AS]"별칭"| 함수식
1: FROM 조회하고자하는 테이블명 별칭 ,테이블명 "별칭", ..
2: WHERE 조건식 (연산자들 가지고 기술)
3: GROUP BY 그룹 기준으로 삼을 컬럼 | 함수식| 산술연산식 ,컬럼,...
4: HAVING 조건식(그룹함수 또는 그룹기준의 컬럼 가지고 기술)
6: ORDER BY 정렬기준으로 삼을 컬럼|별칭|컬럼순번 [ASC|DESC] [NULLS FIRST| NULLS LAST]
'ORACLE' 카테고리의 다른 글
ORACLE 04. SELECT_ JOIN _ 내부조인 (0) | 2022.11.17 |
---|---|
ORACLE 03. SELECT _ 집계함수 , 집합연산자 (0) | 2022.11.17 |
ORACLE 03. SELECT _ GROUP BY절 (0) | 2022.11.16 |
ORACLE 02. SELECT(함수) _ 그룹함수 (0) | 2022.11.16 |
ORACLE 02. SELECT(함수) _ 단일행 함수_ NULL 처리함수/ 선택함수 (0) | 2022.11.16 |