SQL 스터디/HackerRank

[해커랭크] MySQL 정규표현식 - Weather Observation Station 6

황금붕어빵 2023. 9. 9. 14:38

 

Weather Observation Station 6 | HackerRank

Query a list of CITY names beginning with vowels (a, e, i, o, u).

www.hackerrank.com

해커랭크 SQL 문제 중 모음으로 시작하는 도시의 이름을 찾는 문제입니다.

 

이 문제는 두 가지 문제로 풀어볼 수 있는데 LIKE 구문과 정규표현식, 두 가지 방법으로 풀 수 있습니다.

문제)
Query the list of CITY names starting with vowels (i.e., a, e, i, o, or u) from STATION. Your result cannot contain duplicates.

출처 : HackerRank

1) LIKE 구문으로 풀이

select distinct city
from station
where city like "a%"
or city like "e%"
or city like "i%"
or city like "o%"
or city like "u%"

LIKE 구문은 각각 모음 별로 작성해야 하고 아래와 같은 방식으로는 동작하지 않습니다.

select distinct city
from station
where city like "a%" or "e%" or "i%" or "o%" or "u%" >> #동작하지 않음

1번 문제풀이 방식으로 하면 쿼리가 길어져서 조금 간단하게 정규표현식으로도 풀 수 있습니다.

 

2) 정규표현식으로 풀이

select distinct city
from station
where city regexp('^[aeiou]')

where 구문에서 city 컬럼 작성 후 regexp를 작성하면 정규표현식으로 문제를 풀 수 있습니다.

 

^(문자) : 문자 앞에 ^ 기호가 있으면 해당 문자로 시작한다는 의미입니다.

대괄호 안에 모음문자를 기입하면서 해당 문자들로 시작하는 도시 이름을 가져오게 됩니다.

 

정규표현식에 활용되는 문자들은 구글링 하시면 자세한 내용들을 찾아보실 수 있고 간단하게 정리되어 있고 테스트 해볼 수 있는 사이트 링크 하나 공유합니다.

 

https://regexr.com/

 

RegExr: Learn, Build, & Test RegEx

RegExr is an online tool to learn, build, & test Regular Expressions (RegEx / RegExp).

regexr.com