반응형
07 다중행 함수와 데이터 그룹화
07-4 그룹화와 관련된 여러 함수
[ROULLUP, CUBE, GROUPING SETS 함수]
[그룹화 함수]
[PIVOT, UNPIVOT 함수]
07-4장은 위와 같이 그룹화와 관련된 여러 함수를 소개하고 있지만, 해당 내용은 실무에서 사용 빈도가 적어 이 장에서는 [LISTAGG 함수]에 대해서만 간략히 정리한다.
[LISTAGG 함수]
그룹에 속해 있는 데이터를 가로로 나열할 때 사용.
SELECT ~
LISTAGG([나열할 열(필수], [각 데이터를 구분하는 구분자(선택)])
WITHIN GROUP(ORDER BY 나열할 열의 정렬 기준 열(필수))
FROM ~
WHERE [조회할 행을 선별하는 조건식]
*각 데이터를 구분하는 구분자를 지정하지 않을 경우 NULL이 기본값.
LISTAGG 함수 사용 이유
예를 들어 부서 번호와 부서 별 사원 이름을 출력하고 싶을 때, 아래와 같이 GROUP BY절에 DEPTNO열을 그룹화하면
ENAME 데이터는 GROUP BY절에 명시하지 않는 이상 SELECT절에 명시할 수 없음.
또한 부서별 사원 이름을 한눈에 알아보기 쉽지 않음.
따라서 다음과 같이 LISTAGG 함수 사용.
반응형
'빅데이터 > Oracle SQL | Do it! 오라클로 배우는 데이터베이스 입문' 카테고리의 다른 글
조인 | 집합 연산자와 조인의 차이점 / 조인 조건이 없을 때의 문제점과 해결 방법 / 테이블 별칭 설정 (0) | 2023.02.25 |
---|---|
[오라클로 배우는 데이터베이스 입문 | 07장 다중행 함수와 데이터 그룹화] 문제 풀이 (p212) (0) | 2023.02.24 |
HAVING절 | HAVING절의 기본 사용법 / 유의점 / WHERE절과 HAVING절의 차이점 (0) | 2023.02.22 |
GROUP BY절 | GROUP BY절의 기본 사용법 / 유의점 (0) | 2023.02.20 |
다중행 함수란? | SUM / COUNT / MAX / MIN / AVG (0) | 2023.02.19 |