특정 컬럼에서 문자열을 검색하는 방법에 대해 알아보자.
이 때 like 를 사용하고 where 과 함께 사용한다.
-- 문자열 포함(Search) : like 키워드
-- 내가 찾고자 하는 문자열이, 컬럼에 포함되어있는지 확인하는 방법
-- 책 제목에 the 라고 들어있는 책만 가져오시오
select * from books
where title like 'the' ; -- 이건 책 제목이 the인것을 가져오란 뜻
얼핏 보면 맞는 문장 같지만 아무 데이터도 찾지 못하는 모습을 보인다.
like 문을 사용할 때는 문자열에 % 을 같이 써주어야하기 때문이다.
select * from books
where title like '%the%' ;
-- 왼쪽% 는 해당 문자열의 앞에 문자가 붙어도 된다는 뜻
-- 오른쪽 %는 문자열 뒤에 다른 문자가 붙어도 된다는 뜻
문자열 앞 뒤로 % 을 붙여주니 정상적으로 the 가 포함된 데이터들이 검색되었다.
-- the로 시작하는 책만 가져오시오
select * from books
where title like 'the%' ;
뒤에만 붙여주면 the 앞에는 아무것도 없고 the 의 뒤쪽으로 문자열이 존재하는 문자들만 가져온다는 뜻이다.
= the 로 시작하는 문자열만 가져와라.
-- the로 끝나는 책만 가져오시오
select * from books
where title like '%the' ;
the의 앞에만 문자열이 존재해야한다는 뜻이다. 하지만 그런 데이터는 없으므로 아무것도 뜨지 않았다.
= the 로 끝나는 문자열만 가져와라.
-- 언더스코어 ( _ )를 이용한 쿼리문.
-- 언더스코어 갯수만큼, 숫자가2자리수인지 3자리수인지, 자리수를 나타낸다.
select * from books
(032)305-8126 like '(___)___-____';
select * from books
where stock_quantity like '___' ;
stock_quantity 가 3자리 수인 데이터를 가져오는 방법
_언더스코어를 이용한다.
_ 한 개당 한 자리수를 의미한다.
-- % 가 들어간 문장 찾는 방법
select * from books
where title like '%\%%' ;
\ 역슬래쉬로 % 하나를 탈출시켜 포함의 의미가 아닌 문자열 % 을 만들어주는 방법이다.
'MySQL' 카테고리의 다른 글
MySQL - 컬럼을 그룹화시키기 : group by (0) | 2022.05.16 |
---|---|
MySQL - 데이터의 갯수 알아내기 : count 함수 (0) | 2022.05.16 |
MySQL - 데이터를 끊어서 가져오기 : limit 와 offset (0) | 2022.05.16 |
MySQL - 데이터를 정렬하는 방법 : order by (0) | 2022.05.16 |
MySQL - 데이터를 중복 없이 가져오기 : distinct (0) | 2022.05.16 |
댓글