코테/프로그래머스

[프로그래머스/Lv. 3] 오랜 기간 보호한 동물(1) (MySQL)

imname1am 2023. 10. 12. 00:28
반응형

🔺 문제

 

프로그래머스

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

programmers.co.kr

 

🔺 코드

1
2
3
4
5
6
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  I.DATETIME ASC
LIMIT     3;
cs

 

 

🧩 해결 아이디어

• LEFT JOIN문

: ANIMAL_INS에는 있으나, ANIMAL_OUTS에는 없는 값을 뽑아와야 하므로 LEFT JOIN을 써야한다.

(= 왼쪽 테이블 기준 오른쪽 테이블 조인)

 

• WHERE문

: 동물 보호소에 입양이 안 보내진 값을 구해야 하므로,

ANIMAL_OUTS 테이블에서 ANIMAL_ID 값이 NULL인 값을 선택한다.

 

• ORDER BY문

: 보호시작일인 ANIMAL_INS의 DATETIME의 오름차순으로 정렬한다.

 

• LIMIT

: 가장 오래된 동물 3마리만 출력한다고 했으니 상위 3개 행만 출력하도록 LIMIT을 사용한다.

 

 

 


💬 느낀 점

이제껏 LEFT,RIGHT 상관 없이 JOIN을 휘둘렀는데

이제 쓰임에 맞게 써야겄다,,,^^

 

1회독 2회독 3회독 4회독 5회독
V        

(참고)

 

프로그래머스 오랜 기간 보호한 동물(1) 풀이(MySQL)

사이트명 : 프로그래머스(Programmers) 문제명 : 오랜 기간 보호한 동물(1) SQL : MySQL ANIMAL_INS는 아직 보호소에 있는 동물 테이블이고 ANIMAL_OUTS는 입양나간 동물들 테이블인데 입양나가지 않고 보호소

wakestand.tistory.com

 

 

[ 프로그래머스 ] LEVEL3 - 오랜 기간 보호한 동물(1) (Oracle,MySQL)

문제 설명 ANIMAL_INS 테이블은 동물 보호소에 들어온 동물의 정보를 담은 테이블입니다. ANIMAL_INS 테이블 구조는 다음과 같으며, ANIMAL_ID, ANIMAL_TYPE, DATETIME, INTAKE_CONDITION, NAME, SEX_UPON_INTAKE는 각각 동

jione-e.tistory.com

 

반응형