https://programmers.co.kr/learn/courses/30/lessons/59411
Problem
입양을 간 동물 중, 보호 기간이 가장 길었던 동물 두 마리의 아이디와 이름을 조회하는 SQL문을 작성해주세요. 이때 결과는 보호 기간이 긴 순으로 조회해야 합니다.
Analysis
1.동물 두 마리의 아이디와 이름을 조회하는 SQL문
SELECT B.ANIMAL_ID, B.NAME FROM ANIMAL_INS A
2.ANIMAL_OUTS 테이블의 ANIMAL_ID는 ANIMAL_INS의 ANIMAL_ID의 외래 키입니다. 입양을 못 간 동물 중, 가장 오래 보호소에 있었던 이므로 ANIMAL_INS의 테이블의 데이터가 필요하다
RIGHT JOIN ANIMAL_OUTS B ON A.ANIMAL_ID = B.ANIMAL_ID
WHERE A.ANIMAL_ID IS NOT NULL
3. 결과는 보호 기간이 긴 순으로 조회
ORDER BY A.DATETIME - B.DATETIME LIMIT 2;
Solution
SELECT B.ANIMAL_ID, B.NAME
FROM ANIMAL_INS A
RIGHT JOIN ANIMAL_OUTS B ON A.ANIMAL_ID = B.ANIMAL_ID
WHERE A.ANIMAL_ID IS NOT NULL
ORDER BY A.DATETIME - B.DATETIME LIMIT 2;
'Algorithm > SQL' 카테고리의 다른 글
[SQL][Leetcode] 175. Combine Two Tables (0) | 2020.06.19 |
---|---|
[SQL][프로그래머스] 보호소에서 중성화한 동물 (0) | 2020.06.17 |
[SQL][프로그래머스] 오랜 기간 보호한 동물(1) (0) | 2020.06.16 |
[SQL][프로그래머스] 있었는데요 없었습니다 (0) | 2020.06.16 |
[SQL][프로그래머스] 없어진 기록 찾기 (0) | 2020.06.15 |