HackerRank SQL Basic
1. Weather Observation Station 4
중복된 이름의 도시 개수 구하기
SELECT Count(*) - (Select count(distinct city) from station)
from STATION;
2. Weather Observation Station 5
길이가 가장 짧은 도시의 이름과 가장 긴 도시의 이름 구하기 (알파벳 순)
SELECT CITY, LENGTH(CITY) FROM STATION ORDER BY LENGTH(CITY) ASC, CITY LIMIT 1;
SELECT CITY, LENGTH(CITY) FROM STATION ORDER BY LENGTH(CITY) DESC, CITY LIMIT 1;
3. Weather Observation Station 6
a,e,i,o,u 로 시작하는 도시의 이름 구하기
SELECT CITY FROM STATION
WHERE CITY regexp '^[aeiou]'
4. Weather Observation Station 7
a,e,i,o,u 로 끝나는 도시의 이름 구하기
SELECT DISTINCT CITY FROM STATION
WHERE CITY regexp '[aeiou]$'
5. Weather Observation Station 8
a,e,i,o,u 로 시작하고 끝나는 도시의 이름 구하기
SELECT distinct CITY FROM STATION
WHERE CITY regexp '^[aeiou]' and city regexp '[aeiou]$'
6. Weather Observation Station 9, 10, 11, 12
a,e,i,ou,u로 시작하지 않는 문자, 끝나지 않는 문자 찾기(정규표현식 부정문)
SELECT DISTINCT CITY FROM STATION
WHERE city regexp '^[^aeiou]'
SELECT DISTINCT CITY FROM STATION
WHERE CITY regexp '[^aeiou]$'
SELECT DISTINCT CITY FROM STATION
WHERE CITY regexp '^[^aeiou]' OR CITY regexp '[^aeiou]$'
SELECT DISTINCT CITY FROM STATION
WHERE CITY regexp '^[^aeiou]' and CITY regexp '[^aeiou]$';
7. Higher Than 75 Marks
점수가 75점 초과인 학생 구하기
정렬 방법은 이름의 오른쪽 세글자를 추려서 오름차순으로, 같을시엔 아이디 오름차순 RIGHT 함수 사용
SELECT NAME FROM STUDENTS
WHERE MARKS > 75
ORDER BY RIGHT(NAME,3) asc ,id asc
8. Employee Salaries
봉급이 $2000 초과, 근무한지 10개월 미만인 사람
id 오름차순으로
SELECT NAME FROM Employee
where salary > 2000 and months < 10
order by employee_id ASC;
'MySql' 카테고리의 다른 글
[MySql] Sql 공부하기-2 (0) | 2022.03.15 |
---|---|
[MySql] Sql 공부하기-1 (0) | 2022.01.21 |