728x90
반응형
코딩테스트 연습 > JOIN > 오랜 기간 보호한 동물(1)
난이도: Lv.3
언어: MySQL
https://school.programmers.co.kr/learn/courses/30/lessons/59044
실패
SELECT a.NAME, a.DATETIME
FROM ANIMAL_INS a
JOIN ANIMAL_OUTS b ON a.ANIMAL_ID != b.ANIMAL_ID
GROUP BY a.ANIMAL_ID
ORDER BY a.DATETIME
LIMIT 3
실패이유1.
JOIN을 할 때는 두 테이블의 조건을 기재하고, 테이블을 연결을 해야하는데 지금 코드는 연결을 기재하고 있지 않습니다.
* chatGPT 참고
SQL 쿼리에서 JOIN 절이 올바르게 작성되지 않은 것 같습니다. JOIN 절은 일반적으로 특정 조건에 따라 두 테이블을 연결하는 역할을 합니다. 여기서는 입양된 동물과 보호소에 있는 동물을 연결해야 합니다.
제공한 쿼리에서는 JOIN의 조건이 a.ANIMAL_ID != b.ANIMAL_ID로 되어 있습니다. 이는 ANIMAL_ID가 서로 다른 경우에 조인되도록 설정되어 있습니다. 그러나 일반적으로 JOIN은 두 테이블 간에 일치하는 행을 찾는 데 사용됩니다.
성공
SELECT a.NAME, a.DATETIME
FROM ANIMAL_INS a
LEFT JOIN ANIMAL_OUTS b ON a.ANIMAL_ID = b.ANIMAL_ID
WHERE 1=1
AND b.ANIMAL_ID IS NULL
GROUP BY a.ANIMAL_ID
ORDER BY a.DATETIME
LIMIT 3
LEFT JOIN을 해준 후 JOIN된 테이블에서 아래와 같이 비어있는 ANIMAL_ID(ANIMAL_OUTS) 값을 확인해 출력하면 됩니다.
*참고 chatGPT
'실패' 부분에 기재했습니다.
코드에 질문이 있으시면 댓글을 달아주세요. 최대한 빠른 시일 내에 답변해드리겠습니다.
봐주셔서 감사합니다.
728x90
반응형
'Study > SQL' 카테고리의 다른 글
[프로그래머스 SQL] 있었는데요 없었습니다 (0) | 2024.01.15 |
---|---|
[프로그래머스 SQL] 오랜 기간 보호한 동물(2) (0) | 2024.01.15 |
[프로그래머스 SQL] 카테고리 별 도서 판매량 집계하기 (0) | 2024.01.15 |
[프로그래머스 SQL] 대여 횟수가 많은 자동차들의 월별 대여 횟수 구하기 (0) | 2024.01.15 |
[프로그래머스 SQL] 고양이와 개는 몇 마리 있을까 (0) | 2024.01.15 |