본문 바로가기
Algorithm/Programmers-SQL

[Programmers] (JOIN) 총 4문제 - MySQL

by 광진구뚝배기 2021. 10. 11.

알고리즘 문제 풀이 / 프로그래머스 (programmers)  - JOIN

 

 

문제 링크

없어진 기록 찾기 : https://programmers.co.kr/learn/courses/30/lessons/59042

있었는데요 없었습니다 : https://programmers.co.kr/learn/courses/30/lessons/59043

오랜 기간 보호한 동물(1) : https://programmers.co.kr/learn/courses/30/lessons/59406

보호소에서 중성화한 동물 : https://programmers.co.kr/learn/courses/30/lessons/59408

 

 

 

문제 풀이

 

 

레벨3, 레벨4로 구성된 JOIN 문제였다. 각각의 문제를 설명하기보다 join 에 대해 정리한 개념을 보는게 더 도움이 될 것 같다.

join 관한 포스팅은 면접들만 끝나면 바로 업로드하고 여기에 링크를 업로드 해두도록 하겠습니다.

 

 

최댓값 구하기

SELECT o.animal_id, o.name from animal_ins i right join animal_outs o 
on i.animal_id = o.animal_id where i.animal_id is null order by o.animal_id;

 

있었는데요 없었습니다

SELECT I.ANIMAL_ID, I.NAME FROM ANIMAL_INS I LEFT JOIN ANIMAL_OUTS O ON I.ANIMAL_ID = O.ANIMAL_ID WHERE I.DATETIME > O.DATETIME ORDER BY I.DATETIME;

 

오랜 기간 보호한 동물(1)

SELECT I.NAME, I.DATETIME FROM ANIMAL_INS I LEFT JOIN ANIMAL_OUTS O ON I.ANIMAL_ID=O.ANIMAL_ID WHERE O.ANIMAL_ID IS NULL ORDER BY DATETIME LIMIT 3;

 

보호소에서 중성화한 동물

SELECT o.animal_id, o.animal_type, o.name from animal_ins i right join animal_outs o 
on i.animal_id = o.animal_id
where i.sex_upon_intake != o.sex_upon_outcome order by o.animal_id;

 

 

 

 

반응형

댓글