반응형
250x250
Notice
Recent Posts
Recent Comments
Link
관리 메뉴

Yeonee's Story

Oracle SQL 요약정리 - 함수(GROUP BY, HAVING, ROLLUP, CUBE, SELECT 문 구조 및 실행순서) 본문

Oracle SQL/Oracle SQL 요약정리

Oracle SQL 요약정리 - 함수(GROUP BY, HAVING, ROLLUP, CUBE, SELECT 문 구조 및 실행순서)

yeonee 여니 2023. 6. 1. 17:27
728x90
반응형
SMALL

안녕하세요.

#yeoneeblog 여니입니다 :)

 

 

 <GROUP BY 절>
    그룹을 묶어줄 기준을 제시할 수 있는 구문 => 그룹함수와 같이 쓰임.
    해당 제시된 기준별로 그룹을 묶을 수 있음
    여러개의 값들을 하나의 그룹으로 묶어서 처리할 목적으로 사용
    
    [표현법]
    GROUP BY 묶어서 기준이 될 컬럼

 

ex)-- 각 부서별 총 급여 합을 급여별로 내림차순 정렬해서 조회 --> 어느부서가 제일 급여를 많이 받나?
SELECT DEPT_CODE, SUM(SALARY) -- 3 (정렬전에 조회하고)
FROM EMPLOYEE -- 1
GROUP BY DEPT_CODE -- 2 (조건검사하고)
ORDER BY 2 DESC; -- 4 (마지막 정렬)


<HAVING 절>
    
    그룹에 대한 조건을 제시하고자할때 사용되는 구문
    (주로 그룹함수를 가지고 조건제시) => GROUP BY절과 함께 쓰인다(뒤에)


 <ROLLUP, CUBE>
    - 그룹별 산출결과 값의 "집계"를 계산하는 함수
    
    ROLLUP(그룹기준에 해당하는 칼럼, 그룹기준에 해당하는 칼럼)
    인자로 전달받은 그룹중 가장 먼저 지정한 그룹을 기준으로 추가집계 결과를 반환해줌.
    
    CUBE(그룹기준에 해당하는 칼럼, 그룹기준에 해당하는 칼럼) :
    인자로 전달받은 그룹들로 가능한 모든 조합별 집계를 반환해줌

 

ex)-- 모든 조합별 통계
SELECT DEPT_CODE, JOB_CODE, SUM(SALARY)
FROM EMPLOYEE
--GROUP BY DEPT_CODE, JOB_CODE
GROUP BY CUBE(DEPT_CODE, JOB_CODE)
ORDER BY 1;

 


 

<SELECT 문 구조 및 실행순서>


    5. SELECT 조회하고자하는 컬럼명, *, 리터럴, 산술연산식, 함수식
    1. FROM 조회하고자하는 테이블명/DUAL
    2. WHERE 조건식(그룹함수X)
    3. GROUP BY 그룹기준에 해당하는 컬럼명 / 함수식
    4. HAVING 그룹함수식에 대한 조건식
    6. ORDER BY 컬럼명 / 별칭 / 순번 [ASC/DESC] [NULLS FIRST/NULLS LAST]

728x90
반응형
LIST