본문 바로가기
IT/MYSQL

MYSQL - LIKE문으로 특정 문자 포함된 결과 조회하기

by 꿀코 2023. 3. 5.
반응형

MYSQL 특정 문자를 포함하는 SQL 작성하기

 

SQL에서 특정 문자를 포함하는 결과를 조회하고 싶은 경우가 빈번하게 발생합니다. LIKE문을 사용하면 쉽게 특정 문자를 포함하는 결과를 조회할 수 있습니다. LIKE문은 MYSQL 뿐만아니라 오라클에서 같은 문법으로 특정 문자열을 포함하는 결과를 조회할 수 있습니다.

 

 

LIKE 기본 사용법

LIKE문의 기본 사용 문법과 옵션입니다.

 

  • SELECT COL1, COL2, ... FROM 테이블명 WHERE COL1 LIKE '%특정 문자%';

 

1) LIKE 'ABC%' : ABC로 시작하는 하는 경우

2) LIKE '%ABC%' : ABC로 나는 경우

3) LIKE '%ABC%' : ABC를 포함하는 경우

 

[Tip]

LIKE문은 %와 함께 쓰이며 위치에 따라 시작, 끝나는 문자 또는 포함하는 경우를 조회할 수 있습니다.

 

 

LIKE 예시와 옵션 사용 방법

LIKE문의 옵션을 활용하여 다양한 조회 결과를 얻을 수 있는 예시입니다.

 

STUDENT 테이블

SELECT * FROM STUDENT;
ID NAME
1 문동은
2 박연진
3 전재준
4 손명오
5 이사라
6 손준명

 

1) 이름이 박으로 시작하는 데이터 조회

SELECT * FROM STUDENT WHERE NAME LIKE '박%';
ID NAME
2 박연진

 

2) 이름이 은으로 끝나는 데이터 조회

SELECT * FROM STUDENT WHERE NAME LIKE '%은';
ID NAME
1 문동은

 

3) 이름에 재준을 포함하는 데이터 조회

SELECT * FROM STUDENT WHERE NAME LIKE '%재준%';
ID NAME
3 전재준

 

4) 이름에 손과 오를 포함하는 데이터 조회

LIKE문을 사용할 때 AND 조건은 다음과 같은 방법으로 간단하게 사용할 수 있습니다.

단, '%시작%끝%' 구문에서 시작과 끝의 위치가 바뀐 데이터는 조회되지 않습니다.

SELECT * FROM STUDENT WHERE NAME LIKE '%손%명%';
ID NAME
4 손명
6

 

5) 이름에 박 또는 라를 포함하는 데이터 조회

LIKE문을 사용할때 OR 조건은 다음과 같이 연결하여 사용할 수 있습니다.

SELECT * FROM STUDENT 
WHERE NAME LIKE '%박%'
OR NAME LIKE '%라%';
ID NAME
2 박연진
5 이사라

 

 

LIKE와 IN의 차이점

MYSQL에서 LIKE와 IN은 비슷한 기능을 가지고 있지만 명확한 차이가 있습니다.

 

1) LIKE : 데이터가 특정 문자를 포함하고 있는 경우 모두 조회 가능

2) IN : 데이터가 특정 문자와 완전 일치할 경우 조회 가능

 

만약 한 컬럼이 가지는 데이터와 찾고 싶은 특정 문자가 완전 일치하는 경우에는 성능면에서 LIKE 보다 IN 문을 사용하여 데이터를 조회할 것을 추천드립니다.

반응형

댓글