코딩테스트 연습 - 없어진 기록 찾기
링크 : https://school.programmers.co.kr/learn/courses/30/lessons/59042
프로그래머스
코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요.
programmers.co.kr
문제 설명
다음과 같은 두 테이블이 있고
문제 풀이
생각 과정
이 문제는 두 테이블은 연결시키고 데이터가 없는 경우를 출력해야한다.
ANIMAL_INS에 기록이 없지만 ANIMAL_OUTS엔 기록이 있는 경우를 찾아야하므로
기준 테이블이 INS가 아닌 OUTS가 되어야한다.
따라서 RIGHT JOIN을 사용해야한다.
원하는 결과값은 OUTS의 ID와 NAME
SELECT O.ANIMAL_ID, O.NAME
FROM ANIMAL_INS AS I
RIGHT JOIN ANIMAL_OUTS AS O
ON I.ANIMAL_ID = O.ANIMAL_ID
여기서 INS의 기록이 없어야하고 결과는 ID로 정렬
구현
SELECT O.ANIMAL_ID, O.NAME
FROM ANIMAL_INS AS I
RIGHT JOIN ANIMAL_OUTS AS O
ON I.ANIMAL_ID = O.ANIMAL_ID
WHERE I.ANIMAL_ID IS NULL
ORDER BY I.ANIMAL_ID
;
'공부 일지 > 문제풀이' 카테고리의 다른 글
[프로그래머스] 분기별 분화된 대장균의 개체 수 구하기 (MySQL) (0) | 2024.11.25 |
---|---|
[프로그래머스] 자동차 대여 기록 별 대여 금액 구하기 (MySQL) (0) | 2024.11.24 |
[프로그래머스] 오프라인/온라인 판매 데이터 통합하기 (MySQL) (1) | 2023.11.22 |
[프로그래머스] 서울에 위치한 식당 목록 출력하기(MySQL) (0) | 2023.11.21 |
[프로그래머스] 조건에 부합하는 중고거래 댓글 조회하기 (MySQL) (0) | 2023.11.21 |