IT/SQL

[Oracle] 행 제한 구문 활용 페이징 처리 SQL 쿼리

snapcoder 2024. 8. 7. 23:10
728x90
반응형
SMALL

 

 

행 제한

특정 조건에 따라 행 개수를 제한하기 위해 사용하는 SQL

SELECT *
FROM USER_MST UM
WHERE 1=1
ORDER BY
	UM.USER_ID ASC NULLS LAST
OFFSET {스킵할 건수} ROWS
FETCH FIRST {보여줄 건수} ROWS ONLY
;

 

 

예제

하나의 페이지에 5개의 행을 나타낼 수 있고

3번째 페이지인, 11~15번째 행을 조회하고 싶다면?

SELECT *
FROM USER_MST UM
WHERE 1=1
ORDER BY
	UM.USER_ID ASC NULLS LAST
OFFSET 10 ROWS
FETCH FIRST 5 ROWS ONLY
;

 

 

파라미터로 페이징 처리

pageNum = 3

fetchNum = 5

SELECT *
FROM USER_MST UM
WHERE 1=1
ORDER BY
	UM.USER_ID ASC NULLS LAST
OFFSET ( ({pageNum}-1) * {fetchNum} ) ROWS
FETCH FIRST {fetchNum} ROWS ONLY
;

 

 

728x90
반응형
LIST