728x90
오랜 기간 보호한 동물(1)
문제 설명
코딩테스트 연습 - 오랜 기간 보호한 동물(1) | 프로그래머스 스쿨
프로그래머스
코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요.
programmers.co.kr
입출력 예
예를 들어, ANIMAL_INS 테이블과 ANIMAL_OUTS 테이블이 다음과 같다면
SQL문을 실행하면 다음과 같이 나와야 합니다.
※ 입양을 가지 못한 동물이 3마리 이상인 경우만 입력으로 주어집니다.
입출력 예 설명
입양을 가지 못한 동물은 animal_outs 에 포함되지 않은 다는 것을 의미해서 left join을 사용했다.
left join으로 조회된 동물들 중 datetime이 가장 오래된 동물 3마리만 조회한다.
limit와 rownum
- 쿼리의 수를 제한해서 볼 수 있는 명령어
- mysql에서는 limit을 사용한다.
- oracle에서는 rownum을 사용한다.
풀이코드1
mysql
-- 코드를 입력하세요
SELECT *
FROM
(
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 A.DATETIME
) C
LIMIT 3
실행 결과
풀이코드2
oracle
-- 코드를 입력하세요
SELECT *
FROM
(
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 A.DATETIME
)
WHERE ROWNUM <= 3
실행 결과
오랜마에 코테!
728x90
'제로베이스 > 코딩테스트' 카테고리의 다른 글
[프로그래머스 mysql oracle] NULL 처리하기 / null 관련 함수 정리 (1) | 2022.07.15 |
---|---|
[프로그래머스 mysql oracle] 동명 동물 수 찾기 (1) | 2022.07.10 |
[프로그래머스 mysql oracle] 중성화 여부 파악하기 (1) | 2022.07.07 |
[프로그래머스 mysql oracle] 입양 시각 구하기(1) (0) | 2022.07.06 |
[프로그래머스 mysql oracle] 최댓값 구하기 (0) | 2022.07.04 |