180305 Oracle SQL 함수 1 2 - RYUDONGJIN/Memo_wiki GitHub Wiki
그룹함수
- 하나 이상의 행을 그룹으로 묶어 연산하여 총합, 평균 등 하나의 결과로 나타낸다.
- SUM : 그룹의 누적 합계를 반환
- AVG : 그룹의 평균을 반환
- COUNT : 그룹의 총 개수를 반환 => 테이블에서 조건을 만족하는 행의 개수를 반환
- MAX : 그룹의 최대값을 반환
- MIN : 그룹의 최소값을 반환
- STDDEV : 그룹의 표준편차를 반환
- VARIANCE : 그룹의 분산의 반환
GROUP BY 절
- 어떤 컬럼 값을 기준으로 그룹함수를 적용할 경우 GROUP BY 절 뒤에 해당 컬럼을 기술 / 별칭 사용 금지
SELECT deptno FROM emp GROUP BY deptno;
SELECT deptno, AVG(sal) FROM emp GROUP BY deptno;
SELECT job, count(job), TRUNC(AVG(sal)) FROM emp GROUP BY job;
HAVING 절
- SELECT 절에 조건을 사용하여 결과를 제한할 때는 WHERE절을 사용하지만 그룹의 결과(GROUP BY)를 제한할 때는 HAVING절을 사용
- WHERE절을 사용하면 오류
SELECT deptno, AVG(sal) FROM Emp GROUP BY deptno HAVING AVG(sal) < 2000;
SELECT deptno, MAX(sal), MIN(sal) FROM emp GROUP BY deptno HAVING MAX(sal)>2900;