본문 바로가기
알고리즘/SQL

프로그래머스 있었는데요 없었습니다 (JOIN)

by canoe726 2020. 11. 21.
728x90

- 문제 핵심 조건

 

1. 보호 시작일보다 입양일이 더 빠른 동물의 아이디와 이름을 조회하는 SQL문을 작성

 

=> 보호 시작일과 입양일 테이블에 둘 다 동물이 존재해야 하므로 INNER JOIN

 

=> 시작일보다 입양일이 더 빠른 동물 : WHERE ins.datetime > outs.datetime

 

 

2. 결과는 보호 시작일이 빠른 순으로 조회해야합니다.

 

=> 보호 시작일 순으로 조회 : ORDER BY

 

 

* 테이블 : ANIMAL_INS(보호소에 들어온 동물들), ANIMAL_OUTS(보호소에서 나간 동물들)

 

* 칼럼명 : ANIMAL_ID(아이디), NAME(이름), DATETIME(보호시작일)

 

 

- 정답 코드

 

SELECT INS.ANIMAL_ID, INS.NAME 
FROM ANIMAL_INS AS INS 
JOIN ANIMAL_OUTS AS OUTS 
ON INS.ANIMAL_ID = OUTS.ANIMAL_ID 
WHERE INS.DATETIME > OUTS.DATETIME 
ORDER BY INS.DATETIME

 

 

- 문제링크 : programmers.co.kr/learn/courses/30/lessons/59043

 

코딩테스트 연습 - 있었는데요 없었습니다

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

programmers.co.kr

 

728x90

댓글