inblog logo
|
An's Blog
    코딩테스트SQL

    [코딩테스트] 46. 없어진 기록 찾기

    윤설안's avatar
    윤설안
    May 21, 2025
    [코딩테스트] 46. 없어진 기록 찾기
    Contents
    테이블 index문제예시풀이

    테이블 index

    📌

    ANIMAL_INS 

    NAME
    TYPE
    NULLABLE
    ANIMAL_ID
    VARCHAR(N)
    FALSE
    ANIMAL_TYPE
    VARCHAR(N)
    FALSE
    DATETIME
    DATETIME
    FALSE
    INTAKE_CONDITION
    VARCHAR(N)
    FALSE
    NAME
    VARCHAR(N)
    TRUE
    SEX_UPON_INTAKE
    VARCHAR(N)
    FALSE

    ANIMAL_OUTS

    NAME
    TYPE
    NULLABLE
    ANIMAL_ID
    VARCHAR(N)
    FALSE
    ANIMAL_TYPE
    VARCHAR(N)
    FALSE
    DATETIME
    DATETIME
    FALSE
    NAME
    VARCHAR(N)
    TRUE
    SEX_UPON_OUTCOME
    VARCHAR(N)
    FALSE

    문제

    💡
    천재지변으로 인해 일부 데이터가 유실되었습니다. 입양을 간 기록은 있는데, 보호소에 들어온 기록이 없는 동물의 ID와 이름을 ID 순으로 조회하는 SQL문을 작성해주세요.

    예시

    notion image

    풀이

    ❗
    소실된 데이터를 찾기 위해서는 OUTS에는 있고, INS에는 없는 데이터를 찾아야 한다. 그렇기 때문에 Inner Join을 사용하게 조건에 일치하는 데이터만 가져오기 때문에 outer join을 사용해야한다.
    SELECT * from ANIMAL_INS a right outer JOIN ANIMAL_OUTS b ON a.ANIMAL_ID = b.ANIMAL_ID
    join을 하고, where절에서 INS의 데이터가 null 인 경우만 출력하면 된다.
    SELECT b.ANIMAL_ID, b.NAME from ANIMAL_INS a right outer JOIN ANIMAL_OUTS b ON a.ANIMAL_ID = b.ANIMAL_ID where a.animal_id is null
    notion image
    notion image
     
    Share article
    Contents
    테이블 index문제예시풀이

    An's Blog

    RSS·Powered by Inblog