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

MySQL 쿼리에서 LIKE 절 두 번 사용하는 방법

MySQL에서 하나의 쿼리 안에 LIKE 절을 여러 번 사용하려면 OR 연산자를 활용하면 됩니다. 이 방법을 사용하면 여러 개의 패턴 조건을 동시에 만족하는 레코드를 손쉽게 조회할 수 있습니다.

1. 테이블 생성하기

먼저 예제에 사용할 테이블을 생성합니다.

mysql> create table DemoTable2009
(
    Name varchar(20)
);
Query OK, 0 rows affected (0.51 sec)

2. 데이터 삽입하기

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

mysql> insert into DemoTable2009 values('John Doe');
Query OK, 1 row affected (0.13 sec)
mysql> insert into DemoTable2009 values('Adam Smith');
Query OK, 1 row affected (0.23 sec)
mysql> insert into DemoTable2009 values('John Smith');
Query OK, 1 row affected (0.13 sec)
mysql> insert into DemoTable2009 values('David Miller');
Query OK, 1 row affected (0.18 sec)

3. 전체 레코드 확인하기

SELECT 문으로 테이블의 모든 레코드를 조회합니다.

mysql> select * from DemoTable2009;

위 쿼리는 다음과 같은 결과를 출력합니다.

+--------------+
| Name         |
+--------------+
| John Doe     |
| Adam Smith   |
| John Smith   |
| David Miller |
+--------------+
4 rows in set (0.00 sec)

4. LIKE 절을 두 번 사용한 쿼리

이제 LIKE 절을 두 번 사용하여 'Smith' 또는 'David'가 포함된 이름을 조회하는 쿼리입니다.

mysql> select * from DemoTable2009
    where Name like '%Smith%'
    or Name like '%David%';

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

+--------------+
| Name         |
+--------------+
| Adam Smith   |
| John Smith   |
| David Miller |
+--------------+
3 rows in set (0.00 sec)

정리

LIKE 절은 WHERE 조건 안에서 OR 연산자와 함께 여러 번 사용할 수 있습니다. 위 예제처럼 Name like '%Smith%'Name like '%David%'를 OR로 연결하면 두 패턴 중 하나라도 일치하는 모든 레코드가 결과에 포함됩니다. 이 기법은 검색 조건이 여러 개일 때 매우 유용하며, 필요에 따라 AND 연산자를 사용해 모든 조건을 동시에 만족하는 레코드만 필터링할 수도 있습니다.