일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
Tags
- date_add
- DISTINCT
- 입력
- pytthon
- 집계 함수
- 3306
- select
- foreignkey
- primarykey
- 줄바꿈
- live server
- now()
- cmd
- EQUI
- MySQL
- java
- word wrap
- 서브쿼리
- 리눅스 명령어
- 데이터타입
- 데이터베이스
- 테이블
- 삭제
- 생성
- 조인
- DB접속
- substring
- Linux
- groupby
- visual studio code
Archives
- Today
- Total
재유's
[Oracle] ROWNUM 본문
ROWNUM
결과집합(SELECT 쿼리 결과)이 메모리에 생성된 경우 결과 집합 내의 각 레코드에 붙여지는 가상의 순번
- 구문형식
- 결과집합을 먼저 생성해야 하므로, 일반적인 데이터 조회 구문을 괄호로 묶어서 가상의 테이블처럼 사용한다.(서브쿼리!)
- rownum이라는 시스템 정의값과 가상의 테이블에 대한 모든 컬럼을 다시 조회한다.
1
2
3
4
5
|
SELECT ROWNUM AS RNUM, 조회결과.* FROM (
SELECT 컬럼1, 컬럼2, ..., 컬럼n FROM 테이블
[WHERE 조건]
[ORDER BY 컬럼명 조건]
) 조회결과 별칭
|
ROWNUM을 사용한 데이터 부분조회
- 오라클은 MySQL과 같은 페이징 기능(LIMIT n, m)이 없기 때문에 데이터에 대한 부분 조회는 ROWNUM에 대한 WHERE조건을 지정하여 서브쿼리 형식으로 사용한다.
- n번째 위치부터 m건의 데이터를 조회하기
- n이 0부터 시작된다고 가정할 경우 ROWNUM 은 1부터 계산되기 때문에 'n이상 m미만'이 아닌 'n초과, m이하'인 데이터를 조회한다.
1
2
3
4
5
6
7
|
SELECT * FROM (
SELECT ROWNUM AS RNUM, 조회결과.* FROM (
SELECT 컬럼1, 컬럼2, ..., 컬럼n FROM 테이블
[WHERE 조건]
[ORDER BY 컬럼명 조건]
) 조회결과 별칭 WHERE RNUM <= m
) WHERE RNUM > n
|
'IT Story > : : Oracle' 카테고리의 다른 글
[Oracle] CMD에서 오라클 접속하기 (0) | 2020.02.09 |
---|---|
[Error] SQL Developer 모듈 비활성화 오류시 처리방법 (1) | 2019.04.09 |
[OracleSQL] 열 데이터를 행으로 표현하기 (0) | 2017.05.01 |
[SQL] 숫자만 또는 숫자외(글자포함) 데이터 찾기 조건 (0) | 2017.05.01 |
[ORACLE/TIBERO] SQL QUERY HISTORY 확인방법 (0) | 2017.05.01 |
Comments