MySQL의 LIMIT 키워드는 쿼리 결과로 반환될 레코드(행)의 개수를 지정할 때 사용합니다. LIMIT 절을 활용하면 테이블에 저장된 전체 데이터 중 원하는 만큼의 행만 조회할 수 있어, 대용량 테이블에서 일부 데이터만 빠르게 확인하거나 페이지네이션을 구현할 때 특히 유용합니다.
예제
다음 예제를 통해 LIMIT의 동작 방식을 살펴보겠습니다. 먼저 'Student_info' 테이블의 전체 데이터를 조회해 보겠습니다.
mysql> Select * from Student_info; +------+---------+------------+------------+ | id | Name | Address | Subject | +------+---------+------------+------------+ | 101 | YashPal | Amritsar | History | | 105 | Gaurav | Chandigarh | Literature | | 125 | Raman | Shimla | Computers | | 130 | Ram | Jhansi | Computers | | 132 | Shyam | Chandigarh | Economics | | 133 | Mohan | Delhi | Computers | | 150 | Saurabh | NULL | Literature | +------+---------+------------+------------+ 7 rows in set (0.00 sec)
위 결과 집합을 보면 'student_info' 테이블에는 총 7개의 행이 저장되어 있는 것을 확인할 수 있습니다.
그런데 만약 전체 데이터가 아니라 상위 2개 행만 조회하고 싶다면, LIMIT 키워드 뒤에 숫자 2를 붙여 다음과 같이 쿼리를 작성하면 됩니다.
mysql> Select * from Student_info LIMIT 2; +------+---------+------------+------------+ | id | Name | Address | Subject | +------+---------+------------+------------+ | 101 | YashPal | Amritsar | History | | 105 | Gaurav | Chandigarh | Literature | +------+---------+------------+------------+ 2 rows in set (0.00 sec)
실행 결과를 보면 LIMIT 2에 의해 테이블의 첫 번째 행부터 두 개의 레코드만 반환된 것을 알 수 있습니다. 이처럼 LIMIT은 결과 집합의 크기를 손쉽게 제한할 수 있는 강력한 도구입니다.
참고로 LIMIT은 OFFSET과 함께 사용하면 특정 위치부터 지정한 개수만큼 데이터를 가져올 수도 있습니다. 예를 들어 SELECT * FROM Student_info LIMIT 2, 3;처럼 작성하면 앞의 2개 행을 건너뛰고 그 다음부터 3개의 레코드를 조회하게 되므로, 게시판 목록 같은 페이지 단위 데이터 처리에 매우 유용하게 활용됩니다.