IT/MYSQL

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

꿀코 2023. 3. 5. 16:18
반응형

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 문을 사용하여 데이터를 조회할 것을 추천드립니다.

반응형