Oracle의 LISTAGG 함수는 그룹 내의 값을 하나의 문자열로 결합하는 기능을 제공합니다. 이 함수는 주로 문자열 합치기, 그룹별 데이터 요약, 보고서 작성 등에 유용하게 사용됩니다.
LISTAGG 함수의 구문은 다음과 같습니다:
LISTAGG(column, delimiter) WITHIN GROUP (ORDER BY order_column) OVER (PARTITION BY partition_column)
아래는 LISTAGG 함수의 예시 코드입니다:
SELECT department_name, LISTAGG(employee_name, ', ') WITHIN GROUP (ORDER BY employee_name) AS employees
FROM employees
GROUP BY department_name;
위의 코드는 "employees" 테이블에서 부서별로 사원 이름을 결합하여 하나의 문자열로 표시하는 예시입니다. 결과는 "department_name" 열과 "employees" 열로 구성되며, "employees" 열에는 각 부서에 속한 사원 이름이 쉼표로 구분된 형식으로 표시됩니다.
예를 들어, 다음과 같은 데이터가 있는 경우:
department_name | employee_name
---------------------------------
IT | John
IT | Jane
IT | David
HR | Lisa
HR | Eric
위의 쿼리를 실행하면 다음과 같은 결과가 반환됩니다:
department_name | employees
------------------------------
IT | John, Jane, David
HR | Lisa, Eric
결과에서 각 부서별로 사원 이름이 하나의 문자열로 결합되어 표시됩니다.