프로그래머스 | JOIN - 없어진 기록 찾기 (+JOIN정리)

2024. 9. 10. 06:26·SQL/프로그래머스
반응형

ANIMAL_INS 테이블, ANIMAL_OUTS 테이블 두 개를 활용하여 쿼리문을 작성하는 문제입니다.

​

ANIMAL_OUTS 테이블에는 있는데, ANIMAL_INS 테이블에는 없는 동물들의 ID와 이름을 ID순으로 조회해야 합니다.


JOIN 의 활용

JOIN은 두 테이블의 데이터를 일정한 조건에 의해 연결하여 마치 하나의 테이블처럼 만드는 것으로 볼 수 있습니다.

주로 많이 쓰이는 것으로 INNER JOIN과 LEFT OUTER JOIN을 들 수 있습니다.

SQL에서 강점으로 생각되는 부분이 바로 테이블간의 JOIN을 통한 데이터 추출이라고 생각합니다.

아래는 JOIN과 관련 되어 좋은 자료들을 발견하여 출처를 남기고 올리겠습니다다.

출처 : https://hongong.hanbit.co.kr/sql-%EA%B8%B0%EB%B3%B8-%EB%AC%B8%EB%B2%95-joininner-outer-cross-self-join/

 

출처 : https://hongong.hanbit.co.kr/sql-%EA%B8%B0%EB%B3%B8-%EB%AC%B8%EB%B2%95-joininner-outer-cross-self-join/

​

입양을 간 기록은 있는데, 보호소에 들어온 기록이 없는 동물의 id와 이름을 알고 싶은 상황입니다.

위의 자료에서는, 이 그림에 해당하는 상황입니다.

그래서 left join으로 보호소에 들어온 테이블(I)을 연결하고

where 절에서 I.ANIMAL_ID IS NULL로 보호소에 들어온 기록이 없는 데이터들로 제한합니다.

ORDER BY로 id순으로 조회하면 완성!

# JOIN 사용 버전
SELECT O.ANIMAL_ID, O.NAME FROM ANIMAL_OUTS O
LEFT JOIN ANIMAL_INS I 
ON I.ANIMAL_ID = O.ANIMAL_ID
WHERE I.ANIMAL_ID IS NULL
ORDER BY O.ANIMAL_ID;
 
# JOIN 사용 안 한 버전
SELECT ANIMAL_ID, NAME 
FROM ANIMAL_OUTS 
WHERE ANIMAL_ID NOT IN
(
    SELECT ANIMAL_ID 
    FROM ANIMAL_INS
);
반응형
저작자표시 비영리 변경금지 (새창열림)

'SQL > 프로그래머스' 카테고리의 다른 글

프로그래머스 | SQL 스터디 11 (비트연산자 &)  (2) 2024.09.11
프로그래머스 | SQL 스터디 10  (3) 2024.09.10
프로그래머스 | SQL 스터디 9  (1) 2024.09.03
프로그래머스 | SQL 스터디 8  (0) 2024.09.03
프로그래머스 | SQL 스터디 7  (0) 2024.09.03
'SQL/프로그래머스' 카테고리의 다른 글
  • 프로그래머스 | SQL 스터디 11 (비트연산자 &)
  • 프로그래머스 | SQL 스터디 10
  • 프로그래머스 | SQL 스터디 9
  • 프로그래머스 | SQL 스터디 8
kimmalgu
kimmalgu
DA(데이터 분석가) 블로그
  • kimmalgu
    kimmalgu의 블로그
    kimmalgu
  • 전체
    오늘
    어제
    • 분류 전체보기 (56)
      • 📊통계 (3)
      • [패캠] 데이터분석 부트캠프 (10)
        • 프로젝트 (2)
        • 수업 정리 (8)
      • Python (9)
        • 통계전산처리 (7)
      • SQL (27)
        • 프로그래머스 (20)
        • HackerRank (5)
        • LeetCode (1)
      • 코테 (0)
      • 📖독후감 (7)
  • 블로그 메뉴

    • 글쓰기
    • 홈
    • 태그
    • 방명록
  • hELLO· Designed By정상우.v4.10.0
kimmalgu
프로그래머스 | JOIN - 없어진 기록 찾기 (+JOIN정리)
상단으로

티스토리툴바