SQL 연습 - 없어진 기록 찾기

지식저장공간·2024년 12월 24일

SQL

목록 보기
18/18

SQL 연습

문제

프로그래머스

정답

SELECT ANIMAL_ID, NAME
FROM ANIMAL_OUTS
WHERE ANIMAL_ID NOT IN (SELECT ANIMAL_ID FROM ANIMAL_INS);
SELECT AA.ANIMAL_ID, AA.NAME
FROM ANIMAL_OUTS AA
LEFT JOIN ANIMAL_INS BB USING(ANIMAL_ID)
WHERE BB.ANIMAL_ID IS NULL;

풀이

ANIMAL_OUTS 테이블에는 존재하지만, ANIMAL_INS에는 없는 데이터를 조회하면 된다.

  1. 서브쿼리 이용 : INS 테이블의 ID를 전부조회하여 OUTS 테이블에서 ID가 일치하지 않는 것만을 조회
  2. LEFT OUTER JOIN : OUTS 테이블을 기준으로 조회하고, INS 테이블의 ID가 NULL인 경우를 조회
profile
발전하는 개발자가 꿈입니다. 지식을 쌓고 지식을 활용해 목표 달성을 추구합니다.

0개의 댓글