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

2022. 1. 30. 22:50Computer Science/Algorithm

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

SELECT INS.ANIMAL_ID, INS.NAME
FROM ANIMAL_INS AS INS JOIN ANIMAL_OUTS AS OUTS
ON INS.ANIMAL_ID = OUTS.ANIMAL_ID 
WHERE INS.DATETIME > OUTS.DATETIME 
ORDER BY INS.DATETIME
  1. 보호시작일(INS DATETIME)보다 빠른 입양일(OUTS DATETIME) 조회
    - JOIN 없이 WHERE 절로 조건을 실행할 경우 각 행의 모든 경우의 수에 조건을 대입하게 된다(절대 금지!)
    - JOIN을 실행하여 각 행을 1대1로 맞춘 후, 각 ID별로 DATETIME을 비교해야 올바르다.
반응형