Published 2022. 11. 16. 22:56

 < 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] 
   

복사했습니다!