본문 바로가기
Coding Test/SQL Coding Test

[프로그래머스 / SQL] - 있었는데요 없었습니다

by nam_ji 2024. 1. 30.

있었는데요 없었습니다

문제

  • 동물 보호소의 동물의 정보를 담은 animal_ins 테이블과 입양된 동물 정보를 담은 animal_outs 테이블이 있습니다.
  • 입양일이 잘못 입력된 동물의 정보를 출력하는 문제입니다.
    1. 보호 시작일보다 입양일이 더 빠른
    2. 동물의 아이디와 이름을
    3. 보호 시작일 기준 빠른 순으로 정렬하는 문제입니다.


프로그래머스 코드

  • 우선 동물의 아이디와 이름을 조회하기 위해 SELECT 뒤에 아이디와 이름 컬럼을 작성하였습니다.
    • 아이디와 이름의 정보는 ins 테이블과 outs 테이블의 정보가 같기 때문에 ins 테이블의 아이디와 이름을 적었습니다.
  • FROM절에 조회할 컬럼이 담긴 ins 테이블명을 적고 보호 시작일과 입양일을 비교해야 하기 때문에
  • JOIN 뒤에 outs 테이블명을 적습니다.
  • ON 뒤에 ins와 outs의 공통 컬럼을 비교하고
  • WHERE 뒤에 위에서 주어진 조건을 작성합니다.
  • 마지막으로 정렬을 위해 ORDER BY를 이용하여 정렬하였습니다.
-- 코드를 입력하세요
SELECT
    ai.animal_id,
    ai.name
FROM animal_ins ai
JOIN animal_outs ao
ON ai.animal_id = ao.animal_id
WHERE ai.datetime > ao.datetime
ORDER BY ai.datetime;