[해커랭크 SQL] Weather Observation Station 12

hwan22·2022년 4월 14일

SQL 문제풀이

목록 보기
1/5
post-thumbnail

문제

Station 이름을 출력하는 쿼리는 짜는데,
이름이 모음(a, e, i, o, u)으로 시작하지 않고 모음(a, e, i, o, u)으로 끝나지 않아야 한다.
마지막으로, Station 이름을 출력한 결과에서 중복을 제거하는 쿼리를 작성해보자.


풀이

SELECT DISTINCT(city)
FROM station
WHERE city NOT LIKE 'a%'
AND city NOT LIKE 'e%'
AND city NOT LIKE 'i%'
AND city NOT LIKE 'o%'
AND city NOT LIKE 'u%'

AND city NOT LIKE 'a%'
AND city NOT LIKE 'e%'
AND city NOT LIKE 'i%'
AND city NOT LIKE 'o%'
AND city NOT LIKE 'u%';

💡 문제 풀면서 헷갈렸던 부분

  • LIKE문(문자열 패턴 매칭 조건)는 알고있었지만 NOT LIKE문으로 쿼리를 짜본적이 없어서 구글링을 하였다.

  • ANDOR 중에서 어떤 논리연산자를 사용해야할까 고민한듯..?
    Weather Observation Station 6(모음으로 시작하는 Station 이름 출력 문제)를 먼저 풀고 나서 인지 살짝 헷갈렸다.

참고로,
SQL의 경우 문자열을 표시할 때 홑따옴표(' ')를 사용하는게 원칙이라고 한다.

MySQL은 겹따옴표(" ")와 홑따옴표(' ')를 엄격하게 구분하지 않아서 둘다 써도 실행이 된다.

하지만, MySQL를 제외한 다른 DB(DBMS)의 경우 구분하는 경우도 있다하니 잘 확인해봐야 할듯하다.

자세한 내용은 여기를 참고하면 좋을거 같다.

(지금까지 파이썬을 사용했기에 그냥 겹따옴표(" ") 쓰는게 손에 익어서 계속 이렇게 써왔는데..
그래서, 파이썬은 그대로 겹따옴표(" ")를 쓰고 MySQL은 홑따옴표(' ')를 쓰려고 한다.
손에는 이미 익숙해져서 큰 문제는 없을거 같다..!)


문제 링크

https://www.hackerrank.com/challenges/weather-observation-station-12/problem?isFullScreen=true
(해당 문제 저작권은 HackerRank에 있습니다.)

profile
기록의 공간

0개의 댓글