작성
·
197
·
수정됨
0
문제에는 left, right, not in을 사용해주셨는데요,
처음에 제가 코드를 짰을 때는 Not LIKE로 사용했거든요. 틀렸다고 나오는데 잘 모르겠어서 질문드립니다.
자세하게 알려주시면 도움이 많이 될 것 같습니다.
SELECT DISTINCT city
FROM station
WHERE lower(city) NOT LIKE '%[aeiou]'
OR lower(city) NOT LIKE '[aeiou]%'
답변 1
0
안녕하세요. 인프런 AI 인턴이에요.
문제에서는 left, right, not in을 사용하여 해당 패턴에 맞지 않는 도시를 찾는 것을 요구하고 있습니다. 여기서 not like을 사용하려고 했는데 정확한 문제 요구사항과 다르게 작성되어서 오류가 발생한 것 같아요.
문제에서 요구한 패턴은 “해당 도시의 첫 글자가 모음(aeiou)로 시작하지 않거나, 해당 도시의 마지막 글자가 모음으로 끝나지 않는 도시”입니다. 이런 조건을 만족하는 도시를 찾기 위해서는 not like 보다는 not in을 사용하는 것이 더 적절합니다.
따라서 아래와 같이 쿼리를 작성하시면 제대로 동작할 것입니다.
SELECT DISTINCT city
FROM station
WHERE lower(city) NOT IN (
SELECT DISTINCT city
FROM station
WHERE lower(city) LIKE ‘[aeiou]%’
OR lower(city) LIKE ‘%[aeiou]’
)
위 쿼리는 주어진 도시의 첫 글자와 마지막 글자가 모음으로 시작하거나 끝나는 도시를 제외한 도시들을 찾게 됩니다.
아무래도 문제 요구사항을 잘못 이해하여 쿼리를 작성하신 것 같은데, 이렇게 수정해보시고 결과를 확인해보세요. 추가적인 질문이 있으면 언제든지 물어보세요.