프로그래머스 ▻ 없어진 기록 찾기

September 06, 2019

logo

프로그래머스에서 주최하는 SQL 문제 풀이

💎 목차

📕 문제 설명

  • ANIMAL_INS 테이블은 동물 보호소에 들어온 동물의 정보를 담은 테이블입니다.
  • ANIMAL_INS 테이블 구조는 다음과 같으며,
  • ANIMAL_ID, ANIMAL_TYPE, DATETIME, INTAKE_CONDITION, NAME, SEX_UPON_INTAKE
  • 각각 동물의 아이디, 생물 종, 보호 시작일, 보호 시작 시 상태, 이름, 성별 및 중성화 여부를 나타냅니다.

table 1

  • ANIMAL_OUTS 테이블은 동물 보호소에서 입양 보낸 동물의 정보를 담은 테이블입니다.
  • ANIMAL_OUTS 테이블 구조는 다음과 같으며,
  • ANIMAL_ID, ANIMAL_TYPE, DATETIME, NAME, SEX_UPON_OUTCOME
  • 각각 동물의 아이디, 생물 종, 입양일, 이름, 성별 및 중성화 여부를 나타냅니다.
  • ANIMAL_OUTS 테이블의 ANIMAL_IDANIMAL_INSANIMAL_ID의 외래 키입니다.

table 2

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

⬆ 목차


📙 입출력 예

  • 예를 들어, ANIMAL_INS 테이블과 ANIMAL_OUTS 테이블이 다음과 같다면

ANIMAL_INS

1 1 example

ANIMAL_OUTS

1 2 example

ANIMAL_OUTS 테이블에서

  • Allie의 ID는 ANIMAL_INS에 없으므로, Allie의 데이터는 유실되었습니다.
  • Gia의 ID는 ANIMAL_INS에 있으므로, Gia의 데이터는 유실되지 않았습니다.
  • Spice의 ID는 ANIMAL_INS에 없으므로, Spice의 데이터는 유실되었습니다.

따라서 SQL문을 실행하면 다음과 같이 나와야 합니다.


1 3 example


⬆ 목차


📘 문제 풀이

SELECT 'OUTS.ANIMAL_ID', 'OUTS.NAME'
FROM 'ANIMAL_INS' AS 'INS'
RIGHT JOIN 'ANIMAL_OUTS' AS 'OUTS' ON 'INS.ANIMAL_ID' = 'OUTS.ANIMAL_ID'
WHERE 'INS.ANIMAL_ID' IS NULL
ORDER BY 'OUTS.ANIMAL_ID' ASC

⬆ 목차



출처

코딩테스트 연습 > JOIN > 없어진 기록 찾기

여러분의 댓글이 큰힘이 됩니다. (๑•̀ㅂ•́)و✧


Written by@[AGUMON]
아구몬 기술 블로그

GitHubFacebook