본문 바로가기

프로그래밍 언어/SQL

[SQL] 행 수 제한하기(LIMIT), 오프셋 지정하기(OFFSET)

2023-03-02 TIL 11강 결과 행 제한하기 - LIMIT

 

LIMIT : 행 수 제한(MySQL)

  • LIMIT구는 표준 SQL이 아님
  • MySQL, PostgreSQL에서 사용할 수 있는 문법
  • 최대 행수를 수치로 지정
SELECT * FROM sample33 LIMIT 3;

7행인 sample33에서 3행만 뽑기

  • 정렬한 후 행 수 제한하기
  • WHERE 구로 검색한 후 ORDER BY로 정렬된 뒤 최종적으로 처리됨
  • 예제) sample33을 정렬 후 LIMIT 3으로 상위 3건만 취득하기
SELECT * FROM sample33 ORDER BY no DESC LIMIT 3;

 

TOP(SQL Server), ROWNUM(Oracle) : LIMIT를 사용할 수 없는 데이터베이스에서의 행 제한

  • SQL Server에서 LIMIT와 비슷한 기능을 하는 TOP을 사용할 수 있다
SELECT TOP 3 * FROM sample33;

 

  • Oracle에서는 ROWNUM이라는 열을 사용해 WHERE 구로 조건을 지정하여 행을 제한할 수 있다
SELECT * FROM sample33 WHERE ROWNUM <= 3;

 

OFFSET : 오프셋 지정하기

  • 페이지 나누기 기능은 LIMIT 구에 OFFSET으로 지정하여 처리할 수 있다
  • 예제) 한 페이지 당 데이터 3건씩 표시하기
SELECT * FROM sample33 LIMIT 3 OFFSET 0;