SQL 문제풀이

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

냄비짱 2023. 7. 30. 15:31
728x90

❓ Question

 

❗ Answer

SELECT ins.name, ins.datetime
    FROM animal_ins ins
    LEFT OUTER JOIN animal_outs outs
                ON ins.animal_id = outs.animal_id
    WHERE outs.datetime IS NULL
    ORDER BY ins.datetime
    LIMIT 3;

📌 Discussion

  • LEFT OUTER JOIN으로 두 테이블을 결합하여 오른쪽 테이블이 NULL값인 레코드도 모두 불러옴
  • 이 경우에 누락된 레코드가 적기에 WHERE절에서 추가 옵션을 줘서 레코드를 더 잘 활용할 수 있다.
  • WHERE절에서 outs.datetim이 없는 레코드를 누락시킴
  • LIMIT 3로 상위 세가지 레코드만 추출