문제
https://school.programmers.co.kr/learn/courses/30/lessons/59043
프로그래머스
코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요.
programmers.co.kr
문제 접근 방식
animals_outs 테이블에서 입양일 datetime의 값에 오류가 있는 튜플들을 구하는 문제이며 이를 정리하면 아래와 같다.
1. [입양일]이 [보호시작일]보다 빠른 튜플을 구한다
>> animal_ins 의 컬럼과 animals_outs의 컬럼을 비교해야하므로 JOIN 사용
>> 이때, animals_outs의 컬럼이 잘못된 것을 찾는것이기에 해당 테이블을 driving table로 하여 LEFT OUTER JOIN 사용
>> JOIN 이후, WHERE [입양일]<[보호시작일] 을 통해 필터링
2. 보호시작일이 빠른 순으로 정렬한다
>> ORDER BY [보호시작일] 로 정렬
코드
SELECT animal_outs.animal_id,animal_outs.name
FROM animal_outs
LEFT OUTER JOIN animal_ins
ON animal_outs.animal_id = animal_ins.animal_id
WHERE animal_outs.datetime < animal_ins.datetime
ORDER BY animal_ins.datetime;
'문제풀이 > SQL' 카테고리의 다른 글
연도 별 평균 미세먼지 농도 조회하기(SQL) (0) | 2024.03.28 |
---|---|
조건에 맞는 사용자 정보 조회하기(SQL) 문제풀이 (0) | 2024.03.22 |
없어진 기록 찾기(SQL) 문제풀이 (0) | 2024.03.13 |
자동차 평균 대여 기간 구하기(SQL) 문제풀이 (0) | 2024.03.07 |
조건에 부합하는 중고거래 상태 조회하기(SQL) 문제풀이 (0) | 2024.03.06 |