본문 바로가기

Algorithm/Algorithm Test

[프로그래머스 SQL] 없어진 기록 찾기

카테고리

SQL - JOIN

나만의 카테고리

서브 쿼리

문제 링크

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

요점

  • OUTER_JOIN 아니면 서브쿼리도 가능하다

참고 지식

  • OUTER_JOIN
  • SubQuery

풀이 (MySQL & Oracle)

// WHERE 절 서브쿼리 활용
SELECT ANIMAL_ID, NAME
FROM ANIMAL_OUTS
WHERE ANIMAL_ID NOT IN (
    SELECT ANIMAL_ID
    FROM ANIMAL_INS
)
ORDER BY ANIMAL_ID

// OUTER_JOIN 활용
SELECT AO.ANIMAL_ID, AO.NAME
FROM ANIMAL_OUTS AO
LEFT OUTER JOIN ANIMAL_INS AI ON AI.ANIMAL_ID = AO.ANIMAL_ID 
WHERE AI.ANIMAL_ID IS NULL
ORDER BY AO.ANIMAL_ID

 


SQL 초보가 정리한 글입니다

더 좋은 방법이나 코드에 대한 코멘트 언제나 환영합니다!

반응형