본문 바로가기

SQL

[SQL 챌린지] 해커랭크 정복하기 Day 3

✍ 제 머리로 코드를 짜내기 위한 챌린지입니다. (그동안 습관적으로 discussion창을 보곤 했거든요..)

 

🚀 이 포스팅 보신분 당장 저의 챌린지에 동참해주세요. (함께하면 기쁨도 두 배! 서로 온라인 메이트가 되어보아요.)

 

😇 basic단계는 하루에 몇개라도 업로드 할 예정입니다. (예> Day* ~ Day* 10 그 이상도 될 수 있습니다.)


문제 [Weather Observation Station 6]

STATION 테이블에서 'a, e, i, o, u'로 시작하는 도시 이름을 조회하는 쿼리를 작성하세요.

단, 중복은 제거하세요.

 


풀이

SELECT DISTINCT city 
FROM station 
WHERE city RLIKE '^[aeiou]';

RLIKE 문법 이용

정규표현식 이용

LIKE는 IN( 문자열, 문자열 ) 이용 불가능

 

위 세가지를 이용하면 이번 문제도 바로 해결!입니다. 

저는 LIKE로만 작성하려 했는데, RLIKE라는 LIKE IN 역할 문법이 존재했습니다. 

그리고 정규표현식을 이용해 작성하면 되는데, 이번 문제에서 사용한 정규표현식만 정리해보도록 하겠습니다. 

operator description
^ 문자열이 시작할 경우
[ ] 임의의 그룹

정규표현식에서 ^ 는 문자열이 뒤의 정규표현식으로 시작한다! 라고 알려주는 것입니다.

즉, 위의 코드는 ^ 시작한다. [aeiou] 로. 영어 문법 배울 때와 비슷한 것 같죠? :)

 


이제 점점 난이도가 올라가고 있지만 여전히 basic 이라는 거... 

앞으로도 열심히 달려봅시다 ! 


문제 링크:

www.hackerrank.com/challenges/weather-observation-station-6/problem

 

Weather Observation Station 6 | HackerRank

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

www.hackerrank.com