LIKE/IN 질문
286
작성한 질문수 2
안녕하세요 !
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%' )
안된다면 왜 안되는지도 알려주시면 감사하겠습니다.
답변 1
0
안녕하세요, 인프런 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
도움이 되셨길 바랍니다.
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





