TIL: 스스로 이해한 것을 바탕으로 정리하였기에 오류가 있을 수 있습니다. 틀린 부분은 댓글로 알려주시면 감사하겠습니다.
GROUP BY절
여러개의 값들을 제시된 기준에 맞춰서 묶어주는 구문
ex. 전체사원의 총 급여합
SELECT SUM(SALARY)
FROM EMPLOYEE; --> 현재 조회된 전체사원들을 하나의 그룹으로 묶어서 총합을 구한 결과
ex. 각 부서별 총 급여합
SELECT DEPT_CODE, SUM(SALARY)
FROM EMPLOYEE
GROUP BY DEPT_CODE;
ex. 전체사원 수
SELECT COUNT(*)
FROM EMPLOYEE;
ex. 각 부서별 사원 수
SELECT DEPT_CODE, COUNT(*)
FROM EMPLOYEE
GROUP BY DEPT_CODE;
ex. 각 부서별 총 급여합을 부서별 오름차순으로 정렬해서 조회
SELECT DEPT_CODE, SUM(SALARY)
FROM EMPLOYEE
GROUP BY DEPT_CODE
ORDER BY DEPT_CODE;
HAVING절
그룹에 대한 조건을 제시하고자 할 때 사용되는 구문
주로 그룹함수를 가지고 조건을 제시한다.
ex. 각 부서별 평균 급여가 300만원 이상인 부서들만 조회
WHERE 절 사용 (에러발생) | HAVING 절 사용 | |
SELECT DEPT_CODE, ROUND(AVG(SALARY)) FROM EMPLOYEE WHERE AVG(SALARY) >= 3000000 GROUP BY DEPT_CODE; |
----> | SELECT DEP_CODE, ROUND(AVG(SALARY)) FROM EMPLOYEE GROUP BY DEPT_CODE HAVING AVG(SALARY) >= 3000000; |
'SQL' 카테고리의 다른 글
[Oracle] JOIN? 등가조인 내부조인 (0) | 2021.04.05 |
---|---|
[Oracle] 집합연산자? UNION, INTERSECT, MINUS, UNION ALL (0) | 2021.02.17 |
[Oracle] SELECT문에 들어가는 모든 구문의 실행순서 (0) | 2021.02.16 |
[Oracle] 함수? 선택함수와 그룹 함수 (0) | 2021.02.16 |
[Oracle] 함수? 형변환 함수, NULL처리함수, 선택함수; TO_CHAR/NVL (0) | 2021.02.16 |
댓글