섭섭의 공부/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라는 타깃이 되는 문자열을 모두 적어주었다.
하지만
- DB에서 특정 단어로 시작하는 데이터를 출력
- 특정 단어로 끝나는 데이터를 출력
- 중간에 특정 단어를 포함하는 데이터를 출력
하고 싶을 수 있다.
이러한 경우에는 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)