빅데이터/Oracle SQL | Do it! 오라클로 배우는 데이터베이스 입문

그룹화 함수 | LISTAGG 함수 (LISTAGG 함수 사용 방법 / 사용 이유)

KimKelly 2023. 2. 23. 09:09
반응형

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 함수 사용.

 

반응형