전문적인 정보를 다루는 것이 아닌 개인적으로 학습한 내용에 대해
포스팅을 했기 때문에 이점을 감안하여 봐주시면 감사하겠습니다👏
결과 제한하기
SELECT 문은 지정한 테이블에서 일치하는 모든 행을 가져온다. 만약 첫번째 행이나 특정 몇 행만 가져오고 싶다면, LIMIT OFFSET을 사용하면 됩니다.
아래의 구문을 사용하여 일치하는 모든 행을 가져왔을 때의 결과는 다음과 같습니다.
SELECT prod_name
FROM Products;
Limit 단어는 ‘한계’, ‘한도’ 라는 단어 뜻을 갖고 있다. MySQL 데이터베이스 Select 문장에서 Limit 키워드를 사용하면 테이블 데이터 조회 시 결과를 제한할 수 있습니다.
SELECT 조회할 컬럼명
FROM 테이블명
LIMIT 숫자
형태로 다음과 같은 예시를 이용하면 아래의 결과를 얻을 수 있습니다.
SELECT prod_name
FROM products
LIMIT 5;
페이징시 쿼리 - OFFSET 이용
또한 LIMIT, OFFSET 키워드를 이용하여 몇 번째 부터 몇 개의 행을 가져올지 명시할 수 있습니다.
SELECT 조회할 컬럼명
FROM 테이블명
LIMIT 숫자A OFFSET 숫자B
LIMIT 숫자 : 몇개의 행
OFFSET 숫자 : 몇번째 행부터 가져올 것인지. (1번째 row면 0)
OFFSET 사용시 주의해야할 점
0번째 행
처음 가져온 행은 0번째 행이다. 그래서 LIMIT 1 OFFSET 1은 첫 번째 행이 아닌 두번쨰 행을 가져온다
SELECT prod_name
FROM products
LIMIT 5 OFFSET 5;
이렇게 되면 5번째 행부터 5개 행을 가져오라고 지시하는 것이다.
위와 같은 결과를 OFFSET 키워드를 사용하지 않고, ',' 를 이용해서 다음과 같이 적용할 수도 있습니다.
SELECT 조회할 컬럼명
FROM 테이블명
LIMIT 숫자A, 숫자B
SELECT prod_name
FROM products
LIMIT 5, 5;
이렇게 되면 위과 같은 결과로 5번째 행부터 5개 행을 가져오라고 지시하는 것입니다.
전체 행을 선택하는 쿼리에서 6번째부터 9번째까지 행이 출력되는 것을 확인할 수 있습니다
'Back-end > DB' 카테고리의 다른 글
[MySQL] 고급 데이터 필터링 - 연산자 사용 (0) | 2021.05.24 |
---|---|
[MySQL] 데이터 정렬하기 - ORDER BY (0) | 2021.05.24 |
[MySQL] DISTINCT - 행의 중복 출력 방지하기 (0) | 2021.05.21 |
[MySQL] 금일 특정 시간대 만들어진 데이터의 조회하기 (0) | 2021.03.16 |
[MySQL] MySQL 이벤트스케줄러 생성 (Event Scheduler) (0) | 2021.03.05 |
댓글