SQL 고득점 Kit 풀기 - JOIN
1. 없어진 기록 찾기
문제링크 : 없어진 기록 찾기
1.1. 문제풀이
SELECT O.ANIMAL_ID, O.NAME
FROM ANIMAL_OUTS AS O
LEFT JOIN ANIMAL_INS AS I
ON I.ANIMAL_ID = O.ANIMAL_ID
WHERE I.ANIMAL_ID IS NULL;
1.2. 풀이
- LEFT JOIN(혹은 RIGHT JOIN) 을 이용해 두개의 테이블을 이용할 수 있다.
2. 있었는데요 없었습니다
문제링크 : 있었는데요 없었습니다
2.1. 문제풀이
SELECT O.ANIMAL_ID, O.NAME
FROM ANIMAL_INS AS I
LEFT JOIN ANIMAL_OUTS AS O
ON I.ANIMAL_ID = O.ANIMAL_ID
WHERE I.DATETIME > O.DATETIME
ORDER BY I.DATETIME;
3. 오랜 기간 보호한 동물(1)
문제링크 : 오랜 기간 보호한 동물(1)
3.1. 문제풀이
SELECT I.NAME, I.DATETIME
FROM ANIMAL_INS AS I
LEFT JOIN ANIMAL_OUTS AS O
ON I.ANIMAL_ID = O.ANIMAL_ID
WHERE O.DATETIME IS NULL
ORDER BY I.DATETIME
LIMIT 3;
4. 보호소에서 중성화한 동물
문제링크 : 보호소에서 중성화한 동물
4.1. 문제풀이
SELECT I.ANIMAL_ID, I.ANIMAL_TYPE, I.NAME
FROM ANIMAL_INS AS I
LEFT JOIN ANIMAL_OUTS AS O
ON I.ANIMAL_ID = O.ANIMAL_ID
WHERE
NOT (
I.SEX_UPON_INTAKE LIKE 'Spayed%' OR
I.SEX_UPON_INTAKE LIKE 'Neutered%'
) AND
(
O.SEX_UPON_OUTCOME LIKE 'Spayed%' OR
O.SEX_UPON_OUTCOME LIKE 'Neutered%'
)
ORDER BY I.ANIMAL_ID;
댓글 남기기