반응형
- LIMIT: 출력된는 행의 개수 제한
- Offset: 출력되는 시작행 설정
SQL의 SELECT 명령어의 결과값으로 반환되는 행의 개수를 제한할 수 있습니다.
Limit 구절은 표준 SQL은 아닙니다. MySQL과 PostgresSQL에서 사용할 수 있는 문법입니다.
Limit 구절은 where 구 또는 order by 구의 뒤쪽에 기술합니다.
Microsoft SQL Server 에서는 MySQL의 LIMIT과 비슷한 기능을 하는 'TOP' 구문이 있습니다.
Oracle에서는 limit이나 top이 없습니다. Where에서 조건을 지정해서 행의 개수를 제한할 수 있습니다.
; MySQL SELECT * FROM 테이블명 [WHRE 조건신] [ORDER BY 열명] LIMIT 개수 [OFFSET 시작행]; |
; SQL Server SELECT TOP 개수 FROM 테이블명; |
;Oracle SELECT * FROM 테이블명 WHRE ROWNUM <= 5; |
다음은 학생(student) 테이블의 내용입니다.
학생 테이블의 출력되는 행의 수를 7개로 제한합니다.
mysql> select * from student LIMIT 7; |
다음 코드는 학번(hakbun)이 큰 값부터 5명의 학생만 출력하는 SQL 구문입니다.
mysql> select * from student order by hakbun desc LIMIT 5; |
OFFSET
SELECT * FROM 테이블 LIMIT 개수 OFFSET 시작행; |
OFFSET을 이용해서 출력되는 시작행을 설정할 수 있습니다. Offset은 생략하면 기본값으로 0입니다.
다음 코드는 offset 3부터 5개의 행을 출력하는 예입니다. Offset은 0부터 시작됩니다.
mysql> select * from student limit 5 offset 3; |
아마 웹상의 게시판 목록을 많이 봤을 것입니다.
5페이지를 선택하면, 5페이지부터 10개의 리스트가 출력됩니다. 이런 기능의 구현에 offset이 사용될 수 있습니다.
반응형
'Database > MySQL' 카테고리의 다른 글
(MySQL) COUNT 함수: 행 개수 구하기 (0) | 2023.02.27 |
---|---|
(MySQL) Insert update delete 행(row) 추가 갱신 삭제 (0) | 2023.02.22 |
(MySQL) ORDER BY, ASC/DESC: 정렬하기 (0) | 2023.02.18 |
(MySQL) LIKE: 특정 문자열을 포함한 데이터 검색 (0) | 2023.02.17 |
(MySQL) AND, OR, NOT: 조건을 조합해서 검색하기 (0) | 2023.02.17 |