Leta Learns

[프로그래머스] SQL 고득점 kit - JOIN 본문

Coding/SQL

[프로그래머스] SQL 고득점 kit - JOIN

leta 2022. 3. 1. 00:23

https://programmers.co.kr/learn/courses/30/parts/17046

 

프로그래머스

코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요.

programmers.co.kr

 

 

없어진 기록 찾기 

join 너무 오랜만이라 모르겠어서 구글링 했다. left outer join 이론은 괜찮은데 아직 코드로 만들기가 어렵다.

SELECT OUTS.ANIMAL_ID, OUTS.NAME 
FROM ANIMAL_OUTS OUTS
LEFT OUTER JOIN ANIMAL_INS INS
ON OUTS.ANIMAL_ID = INS.ANIMAL_ID
WHERE INS.ANIMAL_ID IS NULL
ORDER BY OUTS.ANIMAL_ID;

 

있었는데요 없었습니다 

SELECT INS.ANIMAL_ID, INS.NAME FROM ANIMAL_INS INS, ANIMAL_OUTS OUTS
WHERE INS.ANIMAL_ID = OUTS.ANIMAL_ID AND INS.DATETIME > OUTS.DATETIME
ORDER BY INS.DATETIME;

 

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

'없어진 기록 찾기' 문제랑 비슷한 거 같아서 참고하면서 풀었다. left outer join... 어렵다.

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

 

보호소에서 중성화한 동물

intact, neutered, spayed 구분하는 데에 제일 시간을 많이 소요했다..! ㅋㅋㅋ

SELECT OUTS.ANIMAL_ID, OUTS.ANIMAL_TYPE, OUTS.NAME
FROM ANIMAL_OUTS OUTS, ANIMAL_INS INS
WHERE OUTS.ANIMAL_ID = INS.ANIMAL_ID AND
INS.SEX_UPON_INTAKE LIKE 'Intact%' AND OUTS.SEX_UPON_OUTCOME NOT LIKE 'Intact%'
ORDER BY OUTS.ANIMAL_ID;

 

Comments