반응형
1. LIMIT구
mysql> SELECT 열명 FROM 테이블명 LIMIT 행수 [OFFSET 시작행];
2. 행수 제한
- LIMIT구는 표준 SQL은 아니다.
- MYSQL과 PostgreSQL에서 사용할 수 있는 문법
2-1. LIMIT구 문법
mysql> SELECT 열명 FROM 테이블명 WHERE 조건식 ORDER BY 열명 LIMIT 함수;
- LIMIT 다음에는 최대 행수를 지정한다.
- 만약, 테이블에 1개의 행만 있다면, LIMIT 3으로 지정하더라도 1개의 행만 반환된다.
- LIMIT으로 제한하는 행수는 최대 행수이므로 존재하는 행이 더 적으면 존재하는 해당 행만큼 반환된다!
2-2. 정렬한 후 제한하기
- LIMIT은 WHERE와는 기능과 내부처리 순서가 전혀 다르다!
- LIMIT
- 반환할 행수를 제한하는 기능
- WHERE구로 검색한 후, ORDER BY로 정렬된 뒤 최종적으로 처리된다.
2-3. LIMIT을 사용할 수 없는 데이터베이스에서의 행 제한
SQL Server
- SQL Server에서는 TOP 뒤에 최대행수를 지정한다.
SELECT TOP 최대행수 * FROM 테이블명;
ORACLE
SELECT * FROM 테이블명 WHERE ROWNUM <= 행개수;
ROWNUM: 클라이언트에게 결과가 반환될 때, 각 행에 할당되는 행 번호
- 단, ROWNUM으로 행을 제한할 때는 WHERE구로 지정하므로 정렬하기 전에 처리되어
LIMIT구로 행을 제한한 경우와 결과값이 다르다!
3. 오프셋 지정
페이지 나누기 기능
3-1. OFFSET 지정 문법
mysql> SELECT 열명 FROM 테이블명 LIMIT 행수 OFFSET 위치;
- OFFSET에 의한 시작 위치 지정은 LIMIT 뒤에 적는다.
- OFFSET의 위치 지정은 0부터 시작하기 때문에 시작할 행 -1로 적는다.
- ex) 4행부터 3건의 데이터를 표시한다면, 위치는 4행-1인 3으로 넣는다.
반응형
'자격증 > SQLD' 카테고리의 다른 글
[SQL 첫걸음] 13강. 문자열 연산 (0) | 2022.04.04 |
---|---|
[SQL 첫걸음] 12강. 수치 연산 (0) | 2022.04.04 |
[SQL 첫걸음] 10강. 복수의 열을 지정해 정렬하기 (0) | 2022.04.04 |
[SQL 첫걸음] 9강. ORDER BY (0) | 2022.04.04 |
[SQL 첫걸음] 8강. 패턴 매칭에 의한 검색 (0) | 2022.04.04 |