728x90
반응형
코딩테스트 연습 > JOIN > 있었는데요 없었습니다
난이도: Lv.3
언어: MySQL
https://school.programmers.co.kr/learn/courses/30/lessons/59043
실패
없습니다.
성공
SELECT a.ANIMAL_ID, a.NAME
FROM ANIMAL_INS a
JOIN ANIMAL_OUTS b ON a.ANIMAL_ID = b.ANIMAL_ID
WHERE 1=1
AND b.ANIMAL_ID IS NOT NULL
AND (
(
DATEDIFF(b.DATETIME, a.DATETIME) = 0
AND TIMEDIFF(b.DATETIME, a.DATETIME) < 0
)
OR
(
DATEDIFF(b.DATETIME, a.DATETIME) < 0
)
)
ORDER BY a.DATETIME
보호시작일이 입양날짜와 같은 경우에는 TIMEDIFF를 이용해 시간을 추가적으로 비교하고,
보호시작일보다 입양날짜가 빠른 경우는 DATEDIFF만 이용해 날짜를 비교해 출력하면 되는 간단한 문제였습니다.
코드에서 IS NOT NULL을 삭제해도 정답처리 됩니다.
*참고 chatGPT
없습니다.
코드에 질문이 있으시면 댓글을 달아주세요. 최대한 빠른 시일 내에 답변해드리겠습니다.
봐주셔서 감사합니다.
728x90
반응형
'Study > SQL' 카테고리의 다른 글
[프로그래머스 SQL] 조회수가 가장 많은 중고거래 게시판의 첨부파일 조회하기 (0) | 2024.01.15 |
---|---|
[프로그래머스 SQL] 헤비 유저가 소유한 장소 (0) | 2024.01.15 |
[프로그래머스 SQL] 오랜 기간 보호한 동물(2) (0) | 2024.01.15 |
[프로그래머스 SQL] 오랜 기간 보호한 동물(1) (0) | 2024.01.15 |
[프로그래머스 SQL] 카테고리 별 도서 판매량 집계하기 (0) | 2024.01.15 |