Notice
Recent Posts
Recent Comments
Link
Tags
more
«   2024/11   »
1 2
3 4 5 6 7 8 9
10 11 12 13 14 15 16
17 18 19 20 21 22 23
24 25 26 27 28 29 30
Archives
Today
Total
관리 메뉴

JongDDA의 한걸음 한걸음씩

SQL - 복수행 함수(그룹함수), GROUP BY 절 본문

개발/SQL

SQL - 복수행 함수(그룹함수), GROUP BY 절

종따 2021. 7. 25. 17:17
728x90

 

● MULTIPLE ROW FUNCTION ==> GROUP FUNCTION(복수행 함수, 그룹함수)

SQL 복수행 함수는 여러개의 데이터가 입력되면 한개의 데이터를 출력해주는 함수이다.

거의 대부분의 그룹 함수는 함수에 *을 사용하면 NULL을 포함하고 컬럼 이름을 쓰면 해당 컬럼에 데이터가 있는 경우만(즉, NULL 값 제외) 작업을 하여 출력한다.

 

주로 사용하는 그룹함수에는 아래와 같다.

COUNT, SUM, AVG, MAX, MIN 

 

- COUNT() 함수

입력되는 데이터의 총 건수를 반환

 

 

- SUM() 함수

입력된 데이터들의 합계 값을 구하는 함수

 

 

- AVG() 함수

입력된 값들의 평균 값을 구해주는 함수

 

 

- MAX() 함수 / MIN() 함수

MAX() 함수는 주어진 데이터 중에서 가장 큰 값을 돌려주고, MIN() 함수는 가장 작은 값을 반환한다.

 

 

*** MAX(), MIN() 함수의 경우 예외적으로 문자와 날짜에도 사용 가능하다.

 

● GROUP BY 절

GROUP BY 절은 세부적인 그룹핑 조건을 추가한다.

컬럼에 데이터를 그룹화 할 수 있다.

 

구조

 

- 컬럼 그룹화

SELECT 컬럼 FROM 테이블 GROUP BY 그룹화할 컬럼;


- 조건 처리 후 컬럼 그룹화

SELECT 컬럼 FROM 테이블 WHERE 조건식 GROUP BY 그룹화할 컬럼;


EX)

SELECT DEPTNO, AVG(NVL(SAL,0)) "AVG"
FROM EMP
GROUP BY DEPTNO;

 

-> DEPTNO 별로 그룹화 하여 평균 급여를 계산하여 출력

 

EX2)

SELECT DEPTNO, JOB, AVG(NVL(SAL,0)) "AVG_SAL"
FROM EMP
GROUP BY DEPTNO, JOB;

-> DEPTNO 별로 먼저 그룹핑 한 후 같은 부서일 경우 직업별로 한 번 더 분류를 하여 평균 급여 출력

-> 0RDER BY를 통해 정렬할 수 있다.

 

 

- HAVING 절

GROUP BY 절에선 조건을 줄 때 HAVING 절을 사용한다.

 

구조

 

- 컬럼 그룹화 이후 조건 처리

SELECT 컬럼 FROM 테이블 GROUP BY 그룹화할 컬럼 HAVING 조건식;

- 조건 처리 후에 컬럼 그룹화 후에 조건 처리

SELECT 컬럼 FROM 테이블 WHERE 조건식 GROUP BY 그룹화할 컬럼 HAVING 조건식;


EX)

-> 평균 급여가 2000 초과인 부서번호별로 그룹화하여 부서번호가 10 초과인 사원의 부서번호와 평균 급여 출력 

 

 

========================================

코드 작성 순서                            처리하는 순서
SELECT                                      FROM
FROM                                       WHERE
WHERE                                     GROUP BY
GROUP BY                                 HAVING
HAVING                                    SELECT
ORDER BY                                 ORDER BY

 

 

 

 

 

 

728x90
반응형

'개발 > SQL' 카테고리의 다른 글

SQL - DDL(데이터 정의 언어)  (0) 2021.07.26
SQL - 조인(JOIN)  (0) 2021.07.25
SQL 이란? Window 10 Oracle 11g 다운로드 및 설치  (0) 2021.07.24
SQL - 단일행 함수(SINGLE ROW FUNCTION)  (0) 2021.07.20
SQL - SELECT 문  (0) 2021.07.19
Comments