MySQL에서는 LIKE 연산자를 OR 연산자와 함께 사용할 수 있으며, 이 조합은 IN 연산자와 동일한 방식으로 작동합니다.
두 가지 방식의 기본 문법을 먼저 살펴보겠습니다.
방법 1 – LIKE와 OR 연산자 함께 사용
select * from yourTableName
where yourColumnName like 'Value1'
or yourColumnName like 'Value2'
or yourColumnName like 'Value3'
...
or yourColumnName like 'ValueN';
방법 2 – IN 연산자 사용
select * from yourTableName
where yourColumnName in ('value1', 'value2', 'value3', ..., 'valueN');
두 문법을 실제로 이해하기 위해 예제 테이블을 하나 만들어 보겠습니다. 아래 쿼리로 테이블을 생성합니다.
mysql> create table LikeDemo
-> (
-> Id varchar(20)
-> );
Query OK, 0 rows affected (0.58 sec)
이제 INSERT 문을 사용하여 테이블에 레코드를 삽입합니다.
mysql> insert into LikeDemo values('John123');
Query OK, 1 row affected (0.22 sec)
mysql> insert into LikeDemo values('Smith205');
Query OK, 1 row affected (0.18 sec)
mysql> insert into LikeDemo values('Bob999');
Query OK, 1 row affected (0.18 sec)
mysql> insert into LikeDemo values('Carol9091');
Query OK, 1 row affected (0.17 sec)
mysql> insert into LikeDemo values('Johnson2222');
Query OK, 1 row affected (0.15 sec)
mysql> insert into LikeDemo values('David2345');
Query OK, 1 row affected (0.21 sec)SELECT 문으로 테이블의 전체 레코드를 조회해 보겠습니다.
mysql> select *from LikeDemo;
실행 결과는 다음과 같습니다.
+-------------+
| Id |
+-------------+
| John123 |
| Smith205 |
| Bob999 |
| Carol9091 |
| Johnson2222 |
| David2345 |
+-------------+
6 rows in set (0.00 sec)
방법 1 – LIKE와 OR 연산자를 사용한 조회
LIKE를 OR 연산자와 함께 사용하는 쿼리는 다음과 같습니다.
mysql> select *from LikeDemo where Id like 'John123%' or Id like 'Carol9091%' or Id like 'David2345%';
위 쿼리의 실행 결과입니다.
+-----------+
| Id |
+-----------+
| John123 |
| Carol9091 |
| David2345 |
+-----------+
3 rows in set (0.00 sec)
방법 2 – IN 연산자를 사용한 조회
IN 연산자를 사용하면 더 간결하게 동일한 결과를 얻을 수 있습니다.
mysql> select *from LikeDemo where Id in('John123','Carol9091','David2345');실행 결과는 다음과 같습니다.
+-----------+
| Id |
+-----------+
| John123 |
| Carol9091 |
| David2345 |
+-----------+
3 rows in set (0.04 sec)
참고: 두 방식은 결과는 같지만 용도에 약간의 차이가 있습니다. LIKE 연산자는 와일드카드(%)를 활용해 부분 일치나 패턴 매칭 검색이 가능한 반면, IN 연산자는 정확한 값이 완전히 일치해야 합니다. 따라서 특정 패턴을 포함하는 데이터를 찾을 때는 LIKE + OR 조합을, 정확한 값 목록과 비교할 때는 IN 연산자를 사용하는 것이 효율적입니다.