MySQL에서 LIKE 절로 특정 열 값 조회하기
MySQL에서 테이블에 저장된 데이터 중 특정 열의 값을 조회하고 싶다면 LIKE 절을 사용하면 됩니다. LIKE 절은 패턴 매칭을 기반으로 조건에 맞는 레코드만 골라내는 강력한 도구입니다.
이번 글에서는 간단한 예제를 통해 테이블 생성부터 데이터 삽입, 그리고 LIKE 절을 활용한 조건 검색까지 단계별로 살펴보겠습니다.
1. 테이블 생성하기
먼저 이름(Name)을 저장할 테이블을 생성합니다.
mysql> create table DemoTable1809
(
Name varchar(20)
);
Query OK, 0 rows affected (0.00 sec)
2. 데이터 삽입하기
INSERT 명령어를 사용해 몇 개의 레코드를 추가합니다.
mysql> insert into DemoTable1809 values('John');
Query OK, 1 row affected (0.00 sec)
mysql> insert into DemoTable1809 values('David');
Query OK, 1 row affected (0.00 sec)
mysql> insert into DemoTable1809 values('Mike');
Query OK, 1 row affected (0.00 sec)
mysql> insert into DemoTable1809 values('Johnson');
Query OK, 1 row affected (0.00 sec)3. 전체 레코드 확인하기
SELECT 문으로 테이블의 모든 레코드를 조회해 보겠습니다.
mysql> select * from DemoTable1809;
실행 결과는 다음과 같습니다.
+---------+
| Name |
+---------+
| John |
| David |
| Mike |
| Johnson |
+---------+
4 rows in set (0.00 sec)
4. LIKE 절로 특정 값 조회하기
이제 LIKE 절을 사용해 'Johnson'이라는 이름만 조회하는 쿼리를 작성해 보겠습니다.
mysql> select * from DemoTable1809 where Name LIKE 'Johnson%';
실행 결과는 다음과 같습니다.
+---------+
| Name |
+---------+
| Johnson |
+---------+
1 row in set (0.00 sec)
LIKE 절의 와일드카드 이해하기
위 쿼리에서 사용된 %는 와일드카드(wildcard)로, 0개 이상의 임의의 문자열을 의미합니다. 즉, 'Johnson%'은 'Johnson'으로 시작하는 모든 문자열과 일치합니다.
'Johnson%'— 'Johnson'으로 시작하는 모든 값 (예: Johnson, Johnsonson)'%Johnson'— 'Johnson'으로 끝나는 모든 값'%Johnson%'— 'Johnson'을 포함하는 모든 값
이처럼 LIKE 절과 와일드카드를 적절히 조합하면 부분 일치 검색도 손쉽게 처리할 수 있습니다. 정확히 일치하는 값만 찾고 싶다면 = 연산자를 사용하는 것이 더 효율적입니다.