약 5분
읽기 설정
글자 크기
줄 간격
글꼴
2.7 LIMIT
데이터베이스에서 다루는 데이터의 양이 많아질수록 필요한 정보를 효과적으로 추출하는 것이 중요합니다. 이때 SQL의 LIMIT 문을 사용하면 결과 집합에서 반환할 행의 수를 제한할 수 있습니다. 간단히 말해, LIMIT은 쿼리 결과에서 몇 개의 행만 보고 싶을 때 사용하는 기능입니다.
예를 들어, 사용자 목록을 조회할 때 수천 명의 사용자 정보를 반환받는 것 대신, 먼저 몇 명의 사용자만 보고 싶을 수 있습니다. 이러한 상황에서 LIMIT이 유용하게 사용됩니다.
예제
아래의 예제를 통해 LIMIT의 사용법을 살펴보겠습니다.
예를 들어, users라는 테이블이 있다고 가정할 때, 가장 최근에 가입한 5명의 사용자 정보를 조회하고 싶습니다. 다음의 SQL 쿼리를 사용합니다:
SELECT * FROM users ORDER BY created_at DESC LIMIT 5;
위 쿼리는 users 테이블에서 가입일자(created_at)를 기준으로 내림차순으로 정렬한 후, 최신 가입 회원 5명의 정보를 반환합니다.
실행 결과
이 쿼리를 실행하면, 쿼리 결과는 다음과 같은 형태로 나타날 것입니다:
| id | username | created_at |
|---|---|---|
| 1 | user1 | 2023-10-01 10:00:00 |
| 2 | user2 | 2023-10-02 11:00:00 |
| 3 | user3 | 2023-10-03 12:00:00 |
| 4 | user4 | 2023-10-04 13:00:00 |
| 5 | user5 | 2023-10-05 14:00:00 |
실습
이제 LIMIT 문을 실습해보겠습니다. 다음의 테이블 구조를 갖는 users 테이블을 생성하세요:
CREATE TABLE users (
id INT AUTO_INCREMENT PRIMARY KEY,
username VARCHAR(100) NOT NULL,
created_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP
);
이후, 더미 데이터를 추가하고 LIMIT을 활용하여 일부 데이터만 조회해보세요. 추가적으로, LIMIT과 OFFSET을 결합하여 원하는 데이터 범위를 반환할 수도 있습니다. 예를 들어, 6번째부터 10번째까지의 사용자 정보를 보고 싶다면 다음 쿼리를 사용할 수 있습니다:
SELECT * FROM users LIMIT 5 OFFSET 5;
위 쿼리는 6번째부터 10번째까지의 결과를 추출합니다.
프로젝트
이제 회원 관리 시스템의 사용자 목록 페이지를 만드는 프로젝트를 진행해보세요. 사용자는 페이지에서 보기를 원한는 데이터의 수를 선택할 수 있어야 하며, 페이지네이션을 구현하는 방법에 대해서도 고민해보시기 바랍니다.
정리
LIMIT과 OFFSET를 사용하면 대량의 데이터 중에서 특정 범위의 데이터를 쉽게 다룰 수 있습니다. 이를 사용하여 사용자 인터페이스(UI)에서 효율적으로 데이터 리스팅을 할 수 있는 기본기를 갖출 수 있습니다. 또한, 데이터베이스가 필요하게 된 이유는 대량의 데이터를 효과적으로 관리하고 조회하기 위함이라는 점을 잊지 말아야 합니다.
댓글 0
아직 댓글이 없습니다. 첫 댓글을 남겨보세요.