안녕하세요.
#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]
'Oracle SQL > Oracle SQL 요약정리' 카테고리의 다른 글
Oracle SQL 요약정리 - JOIN의 종류 및 쓰이는 표현법, 예시 등 (1) | 2023.06.02 |
---|---|
Oracle SQL 요약정리 - 집합 연산자 SET OPERATOR(UNION, UNION ALL, INTERSECT, MINUS) (0) | 2023.06.01 |
Oracle SQL 요약정리 - 함수(NULL 처리 함수,선택함수-DECODE,CASE WHEN THEN,그룹함수) (0) | 2023.06.01 |
Oracle SQL 요약정리 - DB (함수 FUNCTION) (0) | 2023.05.31 |
Oracle SQL 요약정리 - DML(SELECT) 기본문법 (0) | 2023.05.31 |