티스토리 뷰
LISTAGG 예제1
LISTAGG 괄호에 속한 ename 을 쉼표(',') 구분자를 이용해 출력할 것이며 출력할 데이터는 ename으로 정렬되어 출력된다. LISTAGG 함수를 이용한다면 GROUP BY 절은 필수로 지정해주어야한다.
SELECT deptno, LISTAGG(ename, ',') within group (order by ename) AS EMPLOYEE
FROM emp
GROUP BY deptno
LISTAGG 예제2
연결연산자를 이용해 각 사원의 월급을 함께 출력할 수 있다. ORDER BY 절에서 월급을 내림차순으로 정렬하게되면 월급이 높은 사람순으로 출력할 수 있다.
SELECT deptno
, LISTAGG(ename||'('||SAL||')', ',') within group (ORDER BY SAL DESC) AS EMPLOYEE
FROM emp
GROUP BY deptno
LISTAGG 예제3
라인피드(CHR(10))와 캐리지 리턴(CHR(13))을 이용해 줄바꿈으로 EMPLOYEE를 구분할 수 있다.
CHR(10) : 라인피드, 줄바꿈을 수행한다.
CHR(13) : 캐리지 리턴, 커서 위치를 현재 줄의 맨 앞으로 위치시킨다.
OS 환경에 따라 라인피드, 캐리지 리턴을 모두 사용해야 줄바꿈이 이루어질 수도 있고, 그렇지 않은 경우도 있다. 예제 테스트 환경인 livesql 상에선 라인피드만으로 줄바꿈이 이루어졌다.
SELECT deptno, LISTAGG(ename, CHR(10)) within group (order by ename) AS EMPLOYEE
FROM emp
GROUP BY deptno
참조
'Programming > SQL' 카테고리의 다른 글
[오라클] NVL, 집계함수(AVG) 함께 사용시 주의사항 (0) | 2022.12.01 |
---|---|
[Oracle] ORA-00913: 값의 수가 너무 많습니다(too many values) (0) | 2022.09.19 |
[Oracle] 계층형 질의 CONNECT_BY_PATH 예제 (0) | 2022.07.07 |
[Oracle] 계층형 질의 (START WITH, CONNECT BY) 예제 ORDER SIBLINGS BY, ORDER BY 차이 (0) | 2022.07.06 |
[Oracle] 테이블 정의서(코멘트, 타입, PK, NULL여부, 디폴트 값) 조회 (0) | 2022.06.30 |
댓글
공지사항
최근에 올라온 글
최근에 달린 댓글
- Total
- Today
- Yesterday
링크
TAG
- CS
- 네트워크
- 이클립스
- HeidiSQL
- 데이터베이스
- 오라클
- Thymeleaf
- 백준
- 부트스트랩
- 스프링부트
- C
- svn
- 스프링
- Java
- 개발용어
- Open API
- 넥사크로
- 환경설정
- SQL
- JVM
- CSS
- JSP
- 인턴
- 국비교육
- 프로그래머스
- 오류
- C++
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | 5 | 6 | 7 |
8 | 9 | 10 | 11 | 12 | 13 | 14 |
15 | 16 | 17 | 18 | 19 | 20 | 21 |
22 | 23 | 24 | 25 | 26 | 27 | 28 |
29 | 30 | 31 |
글 보관함