Computer >> 컴퓨터 >  >> 프로그래밍 >> MySQL

MySQL에서 행을 건너뛰는 방법 – LIMIT OFFSET 완벽 가이드

MySQL에서 조회 결과 중 일부 행을 건너뛰고 싶다면 LIMITOFFSET 절을 함께 사용하면 됩니다. 이 글에서는 실제 예제를 통해 테이블 생성부터 데이터 삽입, 그리고 행을 건너뛰며 조회하는 방법까지 단계별로 살펴보겠습니다.

1. 테이블 생성하기

먼저 예제에 사용할 테이블을 만들어 보겠습니다.

mysql> create table DemoTable860(
    Id int NOT NULL AUTO_INCREMENT PRIMARY KEY,
    Name varchar(100)
);
Query OK, 0 rows affected (0.73 sec)

2. 샘플 데이터 삽입하기

INSERT 명령어를 사용해 테이블에 여러 개의 레코드를 추가합니다.

mysql> insert into DemoTable860(Name) values('Chris');
Query OK, 1 row affected (0.14 sec)
mysql> insert into DemoTable860(Name) values('Robert');
Query OK, 1 row affected (0.11 sec)
mysql> insert into DemoTable860(Name) values('David');
Query OK, 1 row affected (0.11 sec)
mysql> insert into DemoTable860(Name) values('Bob');
Query OK, 1 row affected (0.10 sec)
mysql> insert into DemoTable860(Name) values('Mike');
Query OK, 1 row affected (0.22 sec)
mysql> insert into DemoTable860(Name) values('Sam');
Query OK, 1 row affected (0.07 sec)

3. 전체 레코드 확인하기

SELECT 문으로 테이블의 모든 레코드를 조회해 보겠습니다.

mysql> select *from DemoTable860;

실행 결과는 다음과 같습니다.

+----+--------+
| Id | Name   |
+----+--------+
|  1 | Chris  |
|  2 | Robert |
|  3 | David  |
|  4 | Bob    |
|  5 | Mike   |
|  6 | Sam    |
+----+--------+
6 rows in set (0.00 sec)

4. LIMIT OFFSET으로 행 건너뛰기

이제 핵심인 행 건너뛰기 쿼리입니다. 아래와 같이 limit 3 offset 2를 지정하면 앞의 2개 행을 건너뛰고, 그 다음부터 3개의 행만 가져옵니다.

mysql> select *from DemoTable860 limit 3 offset 2;

실행 결과는 다음과 같습니다.

+----+-------+
| Id | Name  |
+----+-------+
|  3 | David |
|  4 | Bob   |
|  5 | Mike  |
+----+-------+
3 rows in set (0.00 sec)

동작 원리 정리

  • OFFSET 2: 결과 집합의 처음 2개 행(Id 1, 2)을 건너뜁니다.
  • LIMIT 3: 건너뛴 후 남은 행 중 최대 3개만 반환합니다.

즉, OFFSET은 건너뛸 행의 개수, LIMIT는 가져올 행의 개수를 의미합니다. 참고로 MySQL에서는 limit 2, 3처럼 쉼표 구문을 사용해 OFFSET과 LIMIT을 한 번에 지정할 수도 있습니다. 이 기능은 게시판 페이징 처리처럼 대량의 데이터를 페이지 단위로 나누어 조회할 때 매우 유용하게 활용됩니다.