🐬 SQL/🏆 MySQL 문제풀이

🔓 01. SELECT 문 해커랭크 문제풀이

nyamin9 2023. 10. 8. 19:43

모바일은 화면을 돌려 가로화면으로 보시는 게 읽으시기 편할 수 있습니다. 돌려서 보시는 걸 추천드릴게요!! 

 

 


🔑 Q1. REVISING THE SELECT QUERY 1

 

☑️ 문제

 

☑️ 풀이

- 쿼리 목표 : 인구 수가 십만명이 넘는 미국 도시 추출 

SELECT * FROM CITY WHERE POPULATION > 100000 AND COUNTRYCODE = 'USA';

 


🔑 Q2. REVISING THE SELECT QUERY 2

 

☑️ 문제

 

☑️ 풀이

- 쿼리 목표 : 인구 수가 십이만명이 넘는 미국 도시 추출 

SELECT NAME FROM CITY 
WHERE COUNTRYCODE = 'USA' AND POPULATION > 120000;

 


🔑 Q3. SELECT ALL

 

☑️ 문제

 

☑️ 풀이

- 쿼리 목표 : 모든 데이터 추출

SELECT * FROM city;

 


🔑 Q4. SELECT BY ID

 

☑️ 문제

 

☑️ 풀이

- 쿼리 목표 : 도시 ID가 1661인 도시의 모든 특성 추출

SELECT * FROM CITY WHERE ID = 1661;

 


🔑 Q5. JAPANESE CITIES' ATTRIBUTES

 

☑️ 문제

 

☑️ 풀이

- 쿼리 목표 : 일본 도시의 모든 특성 추출

SELECT * FROM CITY WHERE COUNTRYCODE = 'JPN';

 


🔑 Q6. JAPANESE CITIES' NAMES

 

☑️ 문제

 

☑️ 풀이

- 쿼리 목표 : 일본 도시명 추출

SELECT NAME FROM CITY WHERE COUNTRYCODE = 'JPN';

 


🔑 Q7. WEATHER OBSERVATION STATION 1

 

☑️ 문제

 

☑️ 풀이

- 쿼리 목표 : 도시, 주이름 추출

SELECT city, state FROM station;

 


🔑 Q8. WEATHER OBSERVATION STATION 3

 

☑️ 문제

 

☑️ 풀이

- 쿼리 목표 : 도시 ID가 짝수인 도시 추출

SELECT DISTINCT(CITY) FROM STATION 
WHERE ID % 2 = 0;

 


⛔ Q9. WEATHER OBSERVATION STATION 4 

 

☑️ 문제

 

☑️ 풀이

- 쿼리 목표 : 데이터에 있는 전체 도시 수와 유니크한 도시 수의 차이 연산

SELECT COUNT(CITY) - COUNT(DISTINCT(CITY)) FROM STATION;

 


 Q10. WEATHER OBSERVATION STATION 5

 

☑️ 문제

 

☑️ 풀이

- 쿼리 목표 : 도시 명이 가장 길거나 짧은 도시의 이름과 이름 길이 추출

SELECT CITY, LENGTH(CITY) FROM STATION
ORDER BY LENGTH(CITY), CITY LIMIT 1;

SELECT CITY, LENGTH(CITY) FROM STATION
ORDER BY LENGTH(CITY) DESC, CITY LIMIT 1;

 


🔑 Q11. WEATHER OBSERVATION STATION 6

 

☑️ 문제

 

☑️ 풀이

- 쿼리 목표 : 도시명이 모음으로 시작하는 도시명 추출

SELECT CITY FROM STATION
WHERE CITY LIKE 'A%' OR
      CITY LIKE 'e%' OR
      CITY LIKE 'i%' OR
      CITY LIKE 'o%' OR
      CITY LIKE 'u%';

 


🔑 Q12. WEATHER OBSERVATION STATION 7

 

☑️ 문제

 

☑️ 풀이

- 쿼리 목표 : 도시명이 모음으로 끝나는 도시명 추출

SELECT DISTINCT(CITY) FROM STATION
WHERE CITY LIKE '%A' OR 
      CITY LIKE '%E' OR 
      CITY LIKE '%I' OR 
      CITY LIKE '%O' OR 
      CITY LIKE '%U';

 


 Q13. WEATHER OBSERVATION STATION 8

 

☑️ 문제

 

☑️ 풀이

- 쿼리 목표 : 도시명이 모음으로 시작해서 모음으로 끝나는 도시명 추출

SELECT DISTINCT(CITY) FROM STATION
WHERE CITY LIKE 'A%A' OR 
      CITY LIKE 'A%E' OR 
      CITY LIKE 'A%I' OR 
      CITY LIKE 'A%O' OR 
      CITY LIKE 'A%U' OR 
      CITY LIKE 'E%A' OR 
      CITY LIKE 'E%E' OR 
      CITY LIKE 'E%I' OR 
      CITY LIKE 'E%O' OR 
      CITY LIKE 'E%U' OR 
      CITY LIKE 'I%A' OR 
      CITY LIKE 'I%E' OR 
      CITY LIKE 'I%I' OR 
      CITY LIKE 'I%O' OR 
      CITY LIKE 'I%U' OR 
      CITY LIKE 'O%A' OR 
      CITY LIKE 'O%E' OR 
      CITY LIKE 'O%I' OR 
      CITY LIKE 'O%O' OR 
      CITY LIKE 'O%U' OR 
      CITY LIKE 'U%A' OR 
      CITY LIKE 'U%E' OR 
      CITY LIKE 'U%I' OR 
      CITY LIKE 'U%O' OR 
      CITY LIKE 'U%U';

 

📌 피드백

- 쿼리 시에 너무 하드 코딩 느낌으로 진행한 느낌적인 느낌

- 정규표현식을 사용해서 풀이할 것!!

SELECT CITY 
FROM STATION
WHERE CITY REGEXP '^[aeiou]' AND CITY REGEXP '[aeiou]$';

 


🔑 Q14. WEATHER OBSERVATION STATION 9

 

☑️ 문제

 

☑️ 풀이

- 쿼리 목표 : 도시명이 모음으로 시작하지 않는 도시명 추출

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

 


🔑 Q15. WEATHER OBSERVATION STATION 10

 

☑️ 문제

 

☑️ 풀이

- 쿼리 목표 : 도시명이 모음으로 끝나지 않는 도시명 추출

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

 


 Q16. WEATHER OBSERVATION STATION 11

 

☑️ 문제

 

☑️ 풀이

- 쿼리 목표 : 도시명이 모음으로 시작하거나 모음으로 끝나지 않는 도시명 추출

- (모음 시작, 자음 끝), (자음 시작, 모음 끝) 가능

 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%') OR
       (CITY NOT LIKE '%A' AND 
        CITY NOT LIKE '%E' AND 
        CITY NOT LIKE '%I' AND 
        CITY NOT LIKE '%O' AND 
        CITY NOT LIKE '%U');

 


 Q17. WEATHER OBSERVATION STATION 12

 

☑️ 문제

 

☑️ 풀이

- 쿼리 목표 : 도시명이 모음으로 시작하지 않고 모음으로 끝나지도 않는 도시명 추출

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

 


 Q18. HIGHER THAN 75 MARKS

 

☑️ 문제

 

☑️ 풀이

- 쿼리 목표 : 점수가 75점 이상인 학생 이름 추출, 이름의 끝에서 세번째 알파벳 기준 정렬 및 ID 기준 정렬

SELECT Name FROM STUDENTS 
WHERE Marks > 75
ORDER BY RIGHT(Name, 3), ID;

 


🔑 Q19. EMPLOYEE NAMES

 

☑️ 문제

☑️ 풀이

- 쿼리 목표 : 직원 이름 추출 및 이름 순으로 정렬

SELECT name FROM Employee 
ORDER BY name;

 


🔑 Q20. EMPLOYEE SALARIES

 

☑️ 문제

 

☑️ 풀이

- 쿼리 목표 : 급여가 2000이상이고 재직 기간이 10개월 미만인 직원 이름 추출 및 ID기준 정렬

SELECT name FROM Employee 
WHERE salary > 2000 AND months < 10
ORDER BY employee_id;

 


📌 피드백

- 굳이 정규표현식이 아니더라도 LIKE '[aeiou]%' 구문을 사용하면 같은 기능을 수행할 수 있음

- 단, 정규표현식의 범용성이 더 넓기 때문에 나중에 정리할 것

- 날코딩 하지 말것

- SELECT -> FROM -> WHERE -> ORDER BY 순서로 문단 나누기 (가독성)

 

 

📣 SELECT EASY 난이도 완료 

 

📣 SQL 배지 2 STAR 달성