알고리즘 문제 풀이/프로그래머스
[프로그래머스] 없어진 기록 찾기 mysql (*)
부끄러엇피치
2022. 2. 11. 19:06
728x90
출처: 프로그래머스
https://programmers.co.kr/learn/courses/30/lessons/59042
코딩테스트 연습 - 없어진 기록 찾기
ANIMAL_INS 테이블은 동물 보호소에 들어온 동물의 정보를 담은 테이블입니다. ANIMAL_INS 테이블 구조는 다음과 같으며, ANIMAL_ID, ANIMAL_TYPE, DATETIME, INTAKE_CONDITION, NAME, SEX_UPON_INTAKE는 각각 동물의 아이디
programmers.co.kr
1. left outer join
SELECT A.ANIMAL_ID, A.NAME
FROM ANIMAL_OUTS AS A
LEFT OUTER JOIN ANIMAL_INS AS B
ON A.ANIMAL_ID = B.ANIMAL_ID
WHERE B.ANIMAL_ID IS NULL
ORDER BY A.ANIMAL_ID;
WHERE B.ANIMAL_ID IS NULL을 안 줘서 처음에 틀렸다.
보호소에 들어온 기록이 유실되어야 하니까 null값인 값만 찾는다.
2. 서브쿼리
SELECT ANIMAL_ID, NAME
FROM ANIMAL_OUTS
WHERE ANIMAL_ID NOT IN (
SELECT ANIMAL_ID
FROM ANIMAL_INS
)
ORDER BY ANIMAL_ID;
이게 더 깔끔한 듯