INNER JOIN4 HackerRank - Placements(조인, 서브쿼리/with 문)_MySQL 안녕하세요! 해커랭크에 있는 Placements 문제입니다. - 문제 자신보다 급여가 많은 친구가 있는 사람의 이름을 조회해야 한다. 이름은 친구의 급여를 기준으로 오름차순으로 정렬하면 되겠습니다. (친구와 비교를 해야 한다니 문제가 잔인하네요.) - 테이블 - 쿼리 1. 조인, 서브쿼리 사용 select name from students s inner join packages p on s.id = p.id inner join (select f.id, friend_id, salary from friends f inner join packages p on f.friend_id = p.id) f on s.id = f.id where p.salary < f.salary order by f.salary 1) 본.. 2022. 4. 21. HackerRank - Top Competitors (조인)_MySQL 안녕하세요! - 문제 두 개 이상의 challenge에서 만점을 받은 hacker_id와 name을 찾는 쿼리를 작성한다. 결과는 만점을 얻은 challenge의 개수를 기준으로 내림차순 정렬하는데 두 명 이상일 경우에는 hacker_id를 기준으로 오름차순 정렬한다. - 테이블 - 풀이 SELECT H.hacker_id, H.name FROM Submissions S INNER JOIN Challenges C ON S.challenge_id = C.challenge_id INNER JOIN Difficulty D ON C.difficulty_level = D.difficulty_level INNER JOIN Hackers H ON S.hacker_id = H.hacker_id WHERE S.score .. 2022. 4. 11. LeetCode - 184.Department Highest Salary (조인, 서브쿼리)_MySQL 안녕하세요! 각 부서에서 수입이 가장 높은 직원을 찾아내는 문제입니다. 위 이미지의 Output과 같이 결과를 출력해야 합니다. 서브쿼리와 이너조인을 활용한 풀이입니다. 1. 부서 별로 가장 높은 수입을 찾는다. (첫번째 INNER JOIN 의 서브쿼리) 2. 1에서 찾은 부서와 수입이 같은 직원을 찾아서 employee 테이블과 INNER JOIN 한다. JOIN 기준은 departmentid 와 salary (INNER JOIN : 조인하려는 테이블 사이에 동일한 데이터가 있는 부분만 출력된다.) 3. 부서 이름을 출력하기 위해 department 테이블과 INNER JOIN 한다. select d.name Department, e.name Employee, e.salary Salary from em.. 2022. 4. 8. HackerRank - Challenges (조인, 서브쿼리 / WITH)_MySQL 안녕하세요! [TABLE] - Hackers - Challenges [문제] 각 hacker_id 와 name, 그리고 참여한 challenge의 개수를 알아내야 한다. challenge 의 개수가 동일한 hacker의 경우 이들의 challenge 개수가 challenge 개수의 최대값보다 작으면 이들은 제외한다. 정렬은 challenge 개수가 높은 순서로, challenge 개수가 동일할 시 hacker_id 가 낮은 순서로 한다. [제출 쿼리] SELECT A.hacker_id, A.name, COUNT(B.challenge_id) cnt FROM hackers A JOIN challenges B ON A.hacker_id = B.hacker_id GROUP BY 1, 2 HAVING cnt IN.. 2022. 3. 7. 이전 1 다음