반응형
사이트명 : 프로그래머스(Programmers)
문제명 : 없어진 기록 찾기
SQL : MySQL
없어진 기록 찾기 문제는 두 테이블에서 ANIMAL_OUTS에만 들어있는 행 중
ANIMAL_ID와 NAME을 ANIAML_ID 순으로 출력하라는 내용인데
내 풀이방법은 아래와 같다
이 문제를 풀기 위해서는 JOIN에 대해서 알아야 하는데
JOIN이란? 두 테이블을 합치는 것인데
여러 JOIN이 있지만 이 내용은 출근해야 되니 차후 설명하고
LEFT JOIN은 다음과 같다
여기서 JOIN 후에 행이 엄청나게 많이 생기는데
기존에 ANIMAL_INS 테이블에서 없었던 내용들은 ID가 NULL 처리되어 들어오므로
WHERE 절에 IS NULL을 추가하면
ANIMAL_OUTS에는 있지만 ANIMAL_INS에는 없는 값들만 출력할 수 있다
마지막으로 프로그래머스에 적용 가능한 답안 코드는 아래와 같다
SELECT A.ANIMAL_ID, A.NAME
FROM ANIMAL_OUTS A LEFT JOIN ANIMAL_INS B ON A.ANIMAL_ID = B.ANIMAL_ID
WHERE B.ANIMAL_ID IS NULL
ORDER BY A.ANIMAL_ID
반응형
'SQL > 문제풀이' 카테고리의 다른 글
프로그래머스 오랜 기간 보호한 동물(1) 풀이(MySQL) (1) | 2019.09.07 |
---|---|
프로그래머스 있었는데요 없었습니다 풀이(MySQL) (7) | 2019.09.06 |
프로그래머스 동명 동물 수 찾기 풀이(MySQL) (0) | 2019.09.05 |
프로그래머스 고양이와 개는 몇 마리 있을까 풀이(MySQL) (3) | 2019.09.05 |
프로그래머스 이름이 없는 동물의 아이디 풀이(MySQL) (0) | 2019.09.04 |
댓글