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

이동원님의 프로필 이미지
이동원

작성한 질문수

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

WHERE 해커랭크 문제풀이 1 + 중복된 값을 빼주는 DISTINCT

WHERE 뒤에 or을 묶어서 IN (a%, e%, i%, o%, u%)로 쓰면 왜 틀릴까요??

작성

·

281

0

Weather Observation Staion 6 질문입니다!

SELECT city

FROM station

WHERE city IN ('a%', 'e%', 'i%', 'o%', 'u%')

 

이렇게 작성하면 왜 오류가 되는지 궁금합니다!

답변 1

3

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

WHERE city IN ( ) 은 city 컬럼의 값이 괄호 안에 들어가는 문자열들과 정확히 일치하는 경우만 찾으라는 의미입니다. 
예를 들어, WHERE city IN ('seoul', 'busan') 이라고 조건을 주면 city 컬럼에 seoul 또는 busan 이라는 값이 있는 행들을 찾아 줍니다.

이 문제는 모음으로 시작하는, 즉 값의 맨 첫 글자만 일치하는 데이터를 모두 찾아야 하는 것이기 때문에 
IN이 아니라 LIKE를 사용해야 합니다.

이동원님의 프로필 이미지
이동원

작성한 질문수

질문하기