그룹 함수
- 다중 데이터를 받아서, 단일 행으로 결과가 반환되는 함수이다.
SUM
- 합계를 구하는 함수
SELECT SUM(sal) FROM emp;
AVG
- 평균을 구하는 함수
SELECT AVG(sal) FROM emp;
MAX / MIN
- 최대 / 최소를 구하는 함수
SELECT MAX(sal),MIN(sal) FROM emp;
COUNT
- 해당 컬럼에 문자가 있는 열의 개수를 구하는 함수
- COUNT(*)은 컬럼 개수 전체를 반환한다.
SELECT COUNT (comm) FROM emp;
SELECT COUNT(*), COUNT (comm) FROM emp;
GROUP BY
- 특정 속성을 기준으로 하여 해당 값을 그룹화할 때 사용되는 함수이다.
- 반드시 그룹 함수와 함께 사용된다.
SELECT deptno FROM emp GROUP BY deptno;
SELECT deptno, AVG(sal) FROM emp GROUP BY deptno;
SELECT deptno, SUM(sal), AVG(sal) FROM emp GROUP BY deptno;
SELECT deptno, MAX(sal), MIN(sal) FROM emp GROUP BY deptno;
SELECT deptno, COUNT(*), COUNT(comm) FROM emp GROUP BY deptno;
HAVING
- 그룹 함수에 대한 WHERE절이라고 생각하면 무방하며, 반드시 그룹 함수와 함께 사용된다.
- 단순 컬럼에 조건을 걸기 위해서는 WHERE, 그룹 함수를 적용한 컬럼에 조건을 걸기 위해서는 HAVING
단일 함수와 그룹 함수 간의 관계
ename은 단일 행 함수인데, MAX(sal)은 복수 행의 함수이기 때문에 행 값이 달라서 오류가 출력된다.
-
서브 쿼리
만일 하나의 쿼리 안에서 단일 함수와 그룹 함수를 사용해 줘야 한다면, 서브 쿼리를 이용할 수 있다.
'자린고비 독학하기 > 자린고비 코딩하기' 카테고리의 다른 글
SQL - DATA DICTIONARY VIEW (0) | 2019.08.01 |
---|---|
SQL - JOIN (0) | 2019.07.31 |
SQL - NVL / DECODE / CASE (0) | 2019.07.31 |
"NULL"은 무엇인가? (0) | 2019.07.31 |
SQL - 날짜 함수 / 날짜 연산 (0) | 2019.07.31 |