프로그래머스 | LV.3 없어진 기록 찾기 (MySQL)

728x90

⬛ 프로그래머스 | LV.3 없어진 기록 찾기 (MySQL)

https://school.programmers.co.kr/learn/courses/30/lessons/59042

 

프로그래머스

코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요.

programmers.co.kr

문제 설명


💚문제 접근 방식

입양기록은 있고, 보호소 기록은 없는 데이터를 조회하는 문제였다.

생각을 좀 해서 입양 기록 ANIMAL_OUTS를 A테이블로 두고, 보호소 기록인 ANIMAL_INS를 B 테이블로 두어 LEFT OUTER JOIN을 하면 되겠다고 생각했다.

처음에는 LEFT OUTER JOIN을 하면 자연스럽게 A테이블에만 있는 데이터가 추출되는 줄 착각했는데, A테이블 기준으로 모든 테이블을 형성한뒤, B에 IS NULL인 애를 추출해야 정상 조회가 된다는 점을 놓쳤다 ..

💚 제출 코드

SELECT A.ANIMAL_ID, A.NAME
FROM ANIMAL_OUTS A
LEFT OUTER JOIN ANIMAL_INS B
ON A.ANIMAL_ID = B.ANIMAL_ID
WHERE B.ANIMAL_ID IS NULL
ORDER BY A.ANIMAL_ID, A.NAME;

💚 회고

A 테이블에는 있고, B 테이블에 없는 데이터 조회할 때 주의하자.

728x90