01/18 SQL 문제풀이

Data Architect / Engineer·2024년 1월 18일
1

1일_1SQL

목록 보기
7/63
post-thumbnail

문제

  • 프로그래머스 SQL 문제
  • 있었는데요 없었습니다 / 레벨 3
  • 문제 내용 : 하단 프로그래머스 문제 링크 참조
  • 관리자의 실수로 일부 동물의 입양일이 잘못 입력되었습니다. 보호 시작일보다 입양일이 더 빠른 동물의 아이디와 이름을 조회하는 SQL문을 작성해주세요. 이때 결과는 보호 시작일이 빠른 순으로 조회해야합니다..

내가 작성한 Query

SELECT A.ANIMAL_ID, A.NAME
FROM ANIMAL_INS A
    JOIN ANIMAL_OUTS B ON A.ANIMAL_ID = B.ANIMAL_ID
WHERE A.DATETIME > B.DATETIME
ORDER BY A.DATETIME ASC
  • JOIN을 이용해 ANIMAL_ID를 기준으로 데이터 병합(ANIMAL_INS를 A, ANIMAL_OUTS를 B로 별칭)
  • 보호 시작일(A.DATETIME)이 입양일(=보호 종료일, B.DATETIME)보다 더 빠른 날짜의 데이터를 구해야 하므로, WHERE를 이용하여 조건 필터링 했다.
  • 데이터 출력의 순서를 입양일 기준으로 해야하므로 ORDER BY이용하여 오름차순 정렬하였음.
  • 간단한 JOIN 후, 조건을 이용한 문제였다. 이게 왜 레벨 3?

profile
질문은 계속돼 아오에

0개의 댓글