• 카테고리

    질문 & 답변
  • 세부 분야

    데이터 분석

  • 해결 여부

    미해결

Weather Observation Station 6 문제 관련하여

23.04.17 09:20 작성 조회수 316

1

안녕하세요 선생님. 강의를 잘 듣고 있는 학생입니다.
커뮤니티의 답변을 보니 IN에는 %를 사용할 수 없다고 봤습니다.
그러면 Weather Observation Station 6번 문제의 쿼리를

SELECT DISTINCT name
FROM station
WHERE city LIKE 'i.e.%' or
city LIKE 'a%' or
city LIKE 'e%' or
city LIKE 'i%' or
city LIKE 'o%' or
city LIKE 'u%';

이 아니라

SELECT DISTINCT city
FROM station
WHERE IN(city LIKE 'i.e.%',
city LIKE 'a%',
city LIKE 'e%',
city LIKE 'i%',
city LIKE 'o%',
city LIKE 'u%');

로 작성하는거는 IN에 %를 쓰는 것이 아니라 LIKE 안에 사용하는데도 에러가 나는 이유를 알고 싶습니다.
또한 OR이 아니라 IN을 사용하여 해당 문제를 보다 효율적으로 쿼리를 작성할 수 있는 방법이 있는지 알고 싶습니다.

답변 1

답변을 작성해보세요.

1

WHERE IN(city LIKE 'i.e.%') 과 같이 IN의 괄호 안에 LIKE를 또 쓸 수는 없습니다.
안타깝지만 수업에서 알려드린 방법이 가장 간단한 작성법입니다.
다른 방법으로는 정규표현식을 사용하는 방법이 있을텐데, 짧게 작성할 수는 있겠지만 정규표현식 자체가 복잡해서 수업의 쿼리보다 쉬울 것 같지는 않아요. 궁금하시다면 정규표현식을 검색해 학습해 보시길 권장드립니다.

전인수님의 프로필

전인수

질문자

2023.04.24

네 감사합니다.