섭섭의 공부/SQL

[MySQL] LIKE 문자열 조건 걸기

seobbseob 2021. 8. 2. 14:18

LIKE문은 문자열에 대한 조건을 걸 때 사용한다.

WHERE절에 LIKE문이 들어가면 된다.

 

SELECT A FROM B WHERE C LIKE "D"

위 코드는 C의 칼럼 값 중에 D와 문자열이 일치하는 데이터를 출력한다.

 

일치하지 않는 데이터를 출력하려면 NOT LIKE를 쓰면 된다.

SELECT A FROM B WHERE C NOT LIKE "D"

 

위의 코드들은 D라는 타깃이 되는 문자열을 모두 적어주었다.

하지만

  1. DB에서 특정 단어로 시작하는 데이터를 출력
  2. 특정 단어로 끝나는 데이터를 출력
  3. 중간에 특정 단어를 포함하는 데이터를 출력

하고 싶을 수 있다.

이러한 경우에는 WildCard를 사용하면 된다.

SELECT A FROM B WHERE C LIKE "d%"   --d로 시작하는 데이터 출력
SELECT A FROM B WHERE C LIKE "%d"   --d로 끝나는 데이터 출력
SELECT A FROM B WHERE C LIKE "%d%"  --d를 포함한 데이터 출력

% 는 문자열의 수는 제한해 주지 못하는 와일드카드이다.

 

만약에 글자 수도 제한해 주고 싶으면 _를 사용하면 된다.

SELECT A FROM B WHERE C LIKE "d_"

%를 사용했을 때와는 다르게

위의 코드에서는 d뒤에 한 글자가 오는 경우에만 출력해준다.

 

(참고 자료 - https://www.inflearn.com/users/@datarian 의 [백문이불여일타] 데이터 분석을 위한 고급, 중급, 기초 SQL)