답은 알고리즘 뿐이야!

JOIN - 오랜 기간 보호한 동물(1) 본문

프로그래머스 SQL문제

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

skyde47 2020. 6. 30. 20:17

문제 출처 : https://programmers.co.kr/learn/courses/30/lessons/59044

 

ANIMAL_INS 테이블과 ANIMAL_OUTS 테이블이 주어졌을때, 아직 입양을 못 간 동물 중, 가장 오래 보호소에 있었던 동물 3마리의 이름과 보호 시작일을 조회하는 SQL문을 작성하는 문제입니다.

 

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

 

INS 테이블을 왼쪽, OUTS 테이블을 오른쪽으로 두고  ANIMAL_ID 를 기준으로 LEFT OUTER JOIN을 합니다.

그후 입양을 못 간 동물들을 조회하기 위해서 OUTS 테이블에서 ANIMAL_ID가 없는 데이터들을 조회하고 INS 테이블의 DATETIME을 기준으로 정렬 후 LIMIT 3을 하면 오래된 3가지 데이터를 조회하실 수 있습니다.

Comments