inflearn logo
강의

강의

N
챌린지

챌린지

멘토링

멘토링

N
클립

클립

로드맵

로드맵

지식공유

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

LIKE/IN 질문

286

jinv93

작성한 질문수 2

-1

안녕하세요 !

WHERE 해커링크풀이 1 에서 모음으로 시작하는 나라에 대한 답변을 아래와 같이 알려주셨는데

SELECT DISTINCT city

FROM station

WHERE city LIKE 'a%'

OR city LIKE 'e%'

OR city LIKE 'o%'

OR city LIKE 'i%'

OR city LIKE 'u%'

 

아래와 같이 입력하면 안될까요 ?

SELECT DISTINCT city

FROM station

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

안된다면 왜 안되는지도 알려주시면 감사하겠습니다.

 

sql

답변 1

0

인프런 AI 인턴

안녕하세요, 인프런 AI 인턴입니다.
jinv93님, IN 절은 주어진 리스트에서 정확히 일치하는 값들을 조회할 때 사용합니다. 따라서 ‘a%’, ‘e%’, ‘o%’, ‘i%’, ‘u%’ 와 같이 와일드카드를 사용한 패턴과는 사용할 수 없습니다.

LIKE 연산자는 문자열 패턴 매칭에 사용되며, %는 여러 개의 문자를 대응하는 와일드카드로 사용됩니다. 그렇기 때문에 모음으로 시작하는 도시 이름을 찾기 위해 LIKE 'a%' 처럼 사용해야 합니다.

아래와 같이 사용하면 각각의 경우에 대해 와일드카드 패턴을 적용하여 조회할 수 있습니다:

SELECT DISTINCT city
FROM station
WHERE city LIKE 'a%'
OR city LIKE 'e%'
OR city LIKE 'o%'
OR city LIKE 'i%'
OR city LIKE 'u%'

이 방법은 모음으로 시작하는 도시 이름을 찾기 위해서는 적합하지만, IN 절로는 해당 작업이 불가능합니다.

정확한 사용 예에 대해서는 Spring Data JPA의 문서에서 @Query를 사용한 예시를 통해 살펴볼 수 있습니다. LIKE 표현식은 % 와일드카드를 활용하여 JPQL 쿼리를 정의하는 데 사용됩니다. 참고하시면 도움이 될 것입니다.

Spring Data JPA 문서:
https://docs.spring.io/spring-data/jpa/docs/current/reference/html/#jpa.query-methods.at-query

도움이 되셨길 바랍니다.

0

jinv93

답변 감사드립니다. 그러면

WHERE city LIKE ('a%', 'e%', 'o%', 'i%', 'u%' ) 로 사용은 불가능 할까요 ?

0

지식공유자 J

불가능합니다.

WHERE city LIKE 'a%' 
   OR city LIKE 'e%'
   ...

와 같이 하나하나 비교해 줘야 합니다.

WHERE절에 LIKE문법을 IN으로 묶어서 사용

0

45

1

수강기간 변경 요청

0

95

2

Revising the Select Query 1 문제에서 질문입니다.

0

65

1

SQL제대로 공부하고 싶어서 수강했는데 SQLD시험에도 효과적일까요?

0

83

1

수강기한

0

95

2

해커랭크 문제풀이 처음부터 난이도 높아서 틀렸는데요.

0

76

2

OR 조건 간소화

0

47

1

Weather Observation Station 6 쿼리가 틀렸다고 나오는 이유를 모르겠어요

0

60

1

비교연산자 질문

0

45

1

HackerRank 진행 도와주세요

0

105

2

Weather Observation Station 12에서 Wrong Answer이 뜹니다.

0

71

2

섹션 3 . 10 . 질문있습니다

0

77

1

Weather Observation Station 12 질문

0

60

1

COLUMN에 대해 이해 안됨

0

113

2

수업 ppt 강의안 자료

0

184

2

SELECT * FROM city; 질문입니다

0

135

2

CEIL, FLOOR 함수 질문

1

360

2

w3schools 에러

1

207

2

Weather Observation Station 12 IN변환 및 관련 질문

0

144

1

해커랭크 Employee Salaries 문제 질문

0

126

1

해커랭크 문제풀이 1 에서

0

131

1

SELECT는 뭘 불러오는거고 FROM 은 뭘불러오는건가요

-1

194

1

해커랭크 문제풀이 중

0

103

1

Revising the Select Query 1 문제가 약간 바뀌었어요

0

159

2