티스토리 뷰
반응형
* 앞서 만들어 두었던 테이블([MSSQL] 테이블 생성 및 삭제) 기준
기본적인 테이블 조회 쿼리는 아래와 같다.
SELECT *
FROM EVENT
SELECT ID,
TITLE,
START_AT,
END_AT,
REG_DATE
FROM EVENT
첫번째 쿼리의 *은 전체 컬럼 값을 가지고 오고, 두번째 쿼리는 각 컬럼 모두를 선택하였으므로
두 쿼리는 같은 결과를 출력한다.
여기에서 게시판 리스트를 페이지네이션으로 처리한 경우에
MSSQL에서는 생각보다 쉽게 페이지 구현이 가능하다.
오프셋과 페이지 사이즈만 넘겨주면 알아서 해당 값들만 불러온다.
OFFSET #{offset} ROWS
FETCH NEXT #{pageSize} ROWS ONLY
여기서 오프셋이란, 시작점을 의미한다.
오프셋이 0이면 0번 지점부터, 1이면 1번 지점부터 기준이 된다. (순번이 0부터 시작)
예를 들어, 10개씩 데이터를 뿌려주는 게시판 리스트에서
1 페이지의 데이터를 가져오려면 아래와 같이 작성하면 된다.
SELECT ID,
TITLE,
START_AT,
END_AT,
REG_DATE
FROM EVENT
OFFSET 0 ROWS
FETCH NEXT 10 ROWS ONLY
그 다음 2 페이지에서는
SELECT ID,
TITLE,
START_AT,
END_AT,
REG_DATE
FROM EVENT
OFFSET 10 ROWS
FETCH NEXT 10 ROWS ONLY
오프셋이 10이므로 10번 지점부터 다음 10개의 데이터를 SELECT 한다는 뜻이다.
반응형
'SQL' 카테고리의 다른 글
[MSSQL] 테이블 데이터 삭제 (0) | 2021.03.05 |
---|---|
[MSSQL] 테이블 데이터 수정 (0) | 2021.03.05 |
[MSSQL] 테이블에 데이터 삽입 및 GETDATE() (0) | 2021.03.05 |
[MSSQL] 대문자, 소문자로 데이터 출력 (0) | 2021.03.05 |
[MSSQL] 테이블 생성 및 삭제 (0) | 2021.03.04 |