인프런 영문 브랜드 로고
인프런 영문 브랜드 로고

인프런 커뮤니티 질문&답변

헤아님의 프로필 이미지
헤아

작성한 질문수

[백문이불여일타] 데이터 분석을 위한 기초 SQL

= vs. like

작성

·

217

2

안녕하세요,

= 와 like 에 대해서 질문드려요. 모음으로 끝나는 도시 이름을 찾는 Weather Observation Station 7의 문제를 예시로 들면, 이 때 

WHERE city = '%a' 와

WHERE city LIKE '%a'는 어떤 차이점이 있나요?

강의에서 city = 'Germany'라고 예를 드신 걸 보고 문자열에서도 = 를 쓸 수 있는데, 왜 LIKE가 존재하는지 궁금해요.

답변 1

0

윤선미님의 프로필 이미지
윤선미
지식공유자

헤아님, 안녕하세요

WHERE city = '%a' 를 실행하시면 정확히 문자열이 '%a' 라고 쓰여져있는 데이터들만 찾습니다.
'a'라는 문자로 끝나는 모든 데이터들을 찾아주지 않고요. 예를 들어서,

SELECT *
FROM sample
WHERE city LIKE '%a'

위의 쿼리는 city 이름 끝에 'a'가 들어가있는 데이터를 찾아줄 수 있지만, ('Korea', 'Ghana' 등)

SELECT *
FROM sample
WHERE city = '%a'

는 나라 이름에 '%'가 들어간 나라는 없을테니까 아마도 데이터를 하나도 가져오지 못 할 겁니다.

LIKE는 이렇게 정확한 문자를 찾는 것 보다는, 문자 안의 패턴을 찾는데 사용하고요. 예를 들어서, 텍스트 안에 이메일이 들어가있는 데이터들을 가져오고 싶을 때에는 WHERE text = '%@%' 같이 '@'를 포함하는 문자열을 가진 데이터들을 보여주게끔 할 수 있을겁니다.

헤아님의 프로필 이미지
헤아

작성한 질문수

질문하기