(sql) 프로그래머스 - 있었는데요 없었습니다

navelop·2023년 9월 21일
0

TIL(CODE)

목록 보기
5/20

Q. 관리자의 실수로 일부 동물의 입양일이 잘못 입력되었습니다.
보호 시작일보다 입양일이 더 빠른 동물의 아이디와 이름을 조회하는 SQL문을 작성해주세요. 이때 결과는 보호 시작일이 빠른 순으로 조회해야합니다.

*내 답안

-- 보호 시작일보다 입양일이 더 빠른 동물의 아이디, 이름 조회 쿼리
-- 결과는 보호시작일 빠른순 (ASC)
-- ANIMAL_INS , ANIMAL_OUTS (id using)
SELECT i.animal_id, i.name
FROM ANIMAL_INS i
LEFT JOIN ANIMAL_OUTS o
USING (animal_id)
WHERE i.datetime > o.datetime
ORDER BY i.datetime ASC;
  • 보호 시작일 빠른순 (ASC = ORDER BY 기본값 생략 가능)
  • 날짜더 빠르다의 의미는 더 작다로 통상 됨

🪄 간과했던 점 : 두 테이블에 값이 있어야 하는데 LEFT JOIN 사용
정답처리는 됐지만 계속 left join 공부를 하다보니 습관이 됐나보다 🤨

SELECT i.animal_id, i.name
FROM ANIMAL_INS i
INNER JOIN JOIN ANIMAL_OUTS o
ON I.ANIMAL_ID = O.ANIMAL_ID
WHERE i.datetime > o.datetime
ORDER BY i.datetime ASC;

위에는 inner join으로 바꾸고, using 사용 안 하고 on 사용한 쿼리

0개의 댓글