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