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

MySQL IN() 연산자로 특정 ID 레코드만 조회하는 방법 – 루프 없이 간편하게

MySQL에서 여러 개의 특정 ID에 해당하는 레코드를 조회할 때, WHERE 절에서 반복문(루프)을 사용하는 대신 IN() 연산자를 활용하면 훨씬 간결하고 효율적으로 동일한 결과를 얻을 수 있습니다. 이 글에서는 실제 예제를 통해 IN() 연산자의 사용 방법을 단계별로 살펴보겠습니다.

1. 샘플 테이블 생성하기

먼저 클라이언트 정보를 저장할 테이블을 생성합니다.

mysql> create table DemoTable
(
    ClientId int,
    ClientName varchar(100),
    ClientAge int
);
Query OK, 0 rows affected (0.70 sec)

2. 테이블에 데이터 삽입하기

INSERT 명령어를 사용해 몇 개의 레코드를 추가합니다.

mysql> insert into DemoTable values(100,'Chris',34);
Query OK, 1 row affected (0.20 sec)
mysql> insert into DemoTable values(101,'Robert',31);
Query OK, 1 row affected (0.11 sec)
mysql> insert into DemoTable values(103,'David',33);
Query OK, 1 row affected (0.20 sec)
mysql> insert into DemoTable values(104,'Mike',45);
Query OK, 1 row affected (0.17 sec)
mysql> insert into DemoTable values(105,'Sam',39);
Query OK, 1 row affected (0.09 sec)

3. 전체 레코드 확인하기

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

mysql> select *from DemoTable;

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

+----------+------------+-----------+
| ClientId | ClientName | ClientAge |
+----------+------------+-----------+
|      100 | Chris      |        34 |
|      101 | Robert     |        31 |
|      103 | David      |        33 |
|      104 | Mike       |        45 |
|      105 | Sam        |        39 |
+----------+------------+-----------+
5 rows in set (0.00 sec)

4. IN() 연산자로 특정 ID만 조회하기

이제 WHERE 절에서 루프를 사용하는 것과 유사한 결과를 얻기 위해 IN() 연산자를 적용한 쿼리입니다. ClientId가 101, 103, 105인 레코드만 조회합니다.

mysql> select ClientId,ClientName,ClientAge from DemoTable
where ClientId IN(101,103,105);

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

+----------+------------+-----------+
| ClientId | ClientName | ClientAge |
+----------+------------+-----------+
|      101 | Robert     |        31 |
|      103 | David      |        33 |
|      105 | Sam        |        39 |
+----------+------------+-----------+
3 rows in set (0.00 sec)

정리

위 예제에서 볼 수 있듯이, IN() 연산자를 사용하면 여러 조건을 OR로 일일이 나열하거나 반복문을 작성할 필요 없이 원하는 ID 목록에 해당하는 레코드를 한 번의 쿼리로 손쉽게 조회할 수 있습니다. 코드가 간결해질 뿐만 아니라 가독성과 유지보수성도 크게 향상되므로, 실무에서도 다중 값 조건 조회 시 IN() 연산자를 적극적으로 활용하는 것이 좋습니다.