[SQL문제풀기] Weather Observation Station 10

silver's avatar
Apr 08, 2025
[SQL문제풀기] Weather Observation Station 10

문제

MySQL

: 대소문자 구분하지 않아도 됨

내가 작성한 정답1 - like

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';

내가 작성한 정답2 - 정규표현식

select distinct city from station where city not regexp '[aeiou]$';

내가 작성한 정답3 - substring, substr 둘 다 사용가능

select distinct city from station where substr(city,-1,1) not in ('a','e','i','o','u'); select distinct city from station where substring(city,-1,1) not in ('a','e','i','o','u');

내가 작성한 정답4 - right

select distinct city from station where right(city,1) not in ('a','e','i','o','u');

Oracle

: 대소문자 구분 필요

내가 작성한 정답1 - like

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';

내가 작성한 정답2 - 정규표현식 regexp_like

select distinct city from station where not regexp_like(lower(city),'[aeiou]$');

내가 작성한 정답3 - substr

select distinct city from station where substr(city,-1,1) not in ('a','e','i','o','u');

MS SQL Server - MySQL과 유사

: 대소문자 구분 x

내가 작성한 정답1 - like

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';

내가 작성한 정답2 - like2

select distinct city from station where city not like '%[aeiou]';

내가 작성한 정답3 - right

select distinct city from station where right(city,1) not in ('a','e','i','o','u');

DB2 - Oracle과 유사

내가 작성한 정답 - like

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';

정리!

💡
DBMS
문자추출
left 유무
정규표현식
MS SQL Server
substring - 음수지원 X
o
x → like로 표현가능
MySQL
substring - 음수 지원
o
o → regexp
Oracle
substr - 음수 지원
x
o → regexp_like(colunm,정규식)
DB2
substr - 음수 지원 X
x
x → substr로 표현가능
 
Share article

silver