Coding Test/SQL 연습 문제
프로그래머스/MySQL - JOIN 05. 오랜 기간 보호한 동물(1)
parkes811
2023. 1. 17. 20:29
프로그래머스
코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요.
programmers.co.kr
- 문제
- 코드 및 문제 풀이
SELECT A.NAME, A.DATETIME
FROM ANIMAL_INS AS A
LEFT JOIN ANIMAL_OUTS AS B
ON A.ANIMAL_ID = B.ANIMAL_ID
WHERE B.ANIMAL_ID IS NULL
ORDER BY DATETIME ASC LIMIT 0,3
- 입양을 가지 못한 동물을 조회하기 위해서 LEFT JOIN을 사용해서 ANIMAL_INS 테이블로 B 테이블을 합쳤습니다.
- 이 후 B 테이블의 ANIMAL_ID 가 NULL인 것들은 입양을 가지 못한 동물들의 ID이기 때문에 WHERE에서 조건을 명시했습니다.
- 문제에서 가장 오래 보호소에 있었던 동물 3마리를 조회하라고 해서 DATETIME을 오름차순으로 정렬했고, 제한을 두기 위해 LIMIT 조건을 사용했습니다.
- 0이 날짜가 오래된 동물이고, 그 뒤 3으로 제한을 두어 3마리만 조회되게 했습니다.
- LIMIT 조건
- LIMIT 조건은 ORDER BY, FROM 테이블명 뒤에 제한 조건을 명시할 수 있는 조건문입니다.
- LIMIT 시작할 위치, 가져올개수 와 같은 형식으로 사용됩니다.