https://www.hackerrank.com/challenges/weather-observation-station-6?isFullScreen=true
Weather Observation Station 6 | HackerRank
Query a list of CITY names beginning with vowels (a, e, i, o, u).
www.hackerrank.com
Station표의 City열에서 첫 번째 자릿수의 문자열이 A,E,I,O,U로 시작하는 행만 추출
/*
CITY names starting with vowels (i.e., a, e, i, o, or u)
not contain duplicates.
*/
SELECT
DISTINCT City
FROM
Station
조건 1
WHERE
City REGEXP '^a'
OR City REGEXP '^e'
OR City REGEXP '^i'
OR City REGEXP '^o'
OR City REGEXP '^u'
조건 2
WHERE
REGEXP_LIKE(CITY , '^a|^e|^i|^o|^u');
조건 3
WHERE
LEFT(city, 1) IN ('a', 'e', 'i', 'o', 'u'):
조건 4
WHERE
SUBSTR(CITY,1,1) IN ('a', 'e', 'i', 'o', 'u');
조건 1
'^a|e|i|o|u'를 적었는데 오류가 생겨서 각각의 문자열로 시작할 수 있도록 와일드카드를 통해 풀어 적었다.
조건 2
'^a|e|i|o|u'이런 식으로 사용하고 싶다면 각각의 시도에 ^를 사용하여 작성하면 된다.
조건 3, 4
첫번째 문자를 추출하고 IN 을 사용하여 해당 문자가 A,E,I,O,U와 일치하는지 확인하는 방법으로도 풀 수 있다.
같은 방식으로 문자열의 끝자리나 첫자리와 끝자리를 특정 문자로 조회할 수 있다.
/*
CITY names have vowels (i.e., a, e, i, o, and u) as both their first and last characters.
not contain duplicates.
*/
SELECT
DISTINCT City
FROM
Station
<특정 문자로 끝나는 행 추출>
WHERE
City REGEXP 'a$|e$|i$|o$|u$'
<특정 문자로 시작하고 끝나는 행 추출>
WHERE
LEFT(City, 1) IN ('a', 'e', 'i', 'o', 'u')
AND RIGHT(City, 1) IN ('a', 'e', 'i', 'o', 'u')
<특정 문자를 제외하고 시작하는 행 추출>
WHERE
City REGEXP '^[^a,e,i,o,u]'
[SQL] REGEXP 응용 (1) | 2024.09.02 |
---|---|
[SQL] window function(집계, 순위, 데이터 위치) (0) | 2024.07.18 |
[SQL] WEEK 4 TUES - COUNT() 정리 (1) | 2024.07.17 |
[SQL] subquery 종류 및 사용법 정리 (0) | 2024.07.16 |
[SQL] 3개 이상의 테이블 조인 (0) | 2024.07.05 |