TOP N쿼리
ROWNUM
- 출력된 데이터 기준으로 행번호 부여
- 절대적 번호 아니고 계속 변할수있음
- 상위 5명 뽑기
- -> FROM 에서 DESC 로 정렬한 서브쿼리
- ->WHERE ROWNUM <=5
FETCH
OFFSET N {ROW|ROWS}
FETCH {FIRST|NEXT} N {ROW|ROWS} ONLY
- OFFSET:건너뛸 행수
- N 출력할 행수
- FIRST:OFFSET을 쓰지 않았을때 처음부터 N행까지 출력
- NEXT: OFFSET을 사용했을때 제외한 행부터 N행까지 출력
계층형 질의
START WITH 시작조건
CONNECT BY PRIOR 연결조건
- 행과 행사이의 계층(depth)를 표현
- 연결조건 상위=하위 -> 정방향
- LEVEL:DEPTH를 표현 (1부터)
- CONNECT_BY_ISLEAF:리프 노드 여부
- CONNECT_BY_ROOT 컬럼명: 해당 컬럼의 루트값
- SYS_CONNECT_BY_PATH(컬럼,구분자): 이어지는 경로 출력
- ORDER SIBINGS BY 컬럼: 같은 LEVEL 일경우 정렬함
PIVOT,UNPIVOT
- LONG DATA: 하나의 컬럼을 정의하여 여러 행(조인 편함)
- WIDE DATA: 하나의 속성값을 여러 컬럼을으로 분리(조인 불가능)
- PIVOT: LONG 에서 WIDE 데이터로
- UNPIVOT:WIDE데이터 LONG 데이터로
- PIVOT(VALUE컬럼명, FOR UNSTACK컬럼명 IN (값1,값2,값3...))
컬럼명 | 값1 | 값2 | 값3 |
컬럼1 | |||
컬럼2 | |||
컬럼3 |
- UNPIVOT(VALUE컬럼명, FOR UNSTACK컬럼명 IN (값1,값2,값3...))
'Computer Science > DataBase' 카테고리의 다른 글
[SQLD] 2과목 DML, TCL (0) | 2024.05.09 |
---|---|
[SQLD] 2과목 윈도우 함수 (0) | 2024.05.08 |
[SQLD] 2과목 집합 연산자 (0) | 2024.05.08 |