https://school.programmers.co.kr/learn/courses/30/lessons/59045
[프로그래머스
SW개발자를 위한 평가, 교육, 채용까지 Total Solution을 제공하는 개발자 성장을 위한 베이스캠프
programmers.co.kr](https://school.programmers.co.kr/learn/courses/30/lessons/59045)
문제분석
어쩌다 보니 3번째 보호소 문제이다. 이정도면 일부러 찾아서 보호소 문제 푸는 것 같기도 하고...
아무튼, 문제를 분석해보면
ANIMAL_INS
에서는 중성화돼있지 않은 동물&&ANIMAL_OUTS
에서는 중성화돼있는 동물- ID를 기준으로 오름차순 정렬
요구에 맞게 SQL문을 작성하면 될 듯 하다.
해결과정
WHERE문을 꽤 많이 작성해야 했다. Spayed 와 Neutered을 기준으로 중성/비 중성을 구분하였다.
WHERE문에서 많은 AND와 OR을 사용할 수 있다는걸 깨달았다.
SELECT INS.ANIMAL_ID, INS.ANIMAL_TYPE, INS.NAME
FROM ANIMAL_INS AS INS
JOIN (
SELECT *
FROM ANIMAL_OUTS
) AS OUTS
ON INS.ANIMAL_ID=OUTS.ANIMAL_ID
WHERE NOT (INS.SEX_UPON_INTAKE LIKE '%Spayed Female%' OR
INS.SEX_UPON_INTAKE LIKE '%Neutered Male%')
AND (OUTS.SEX_UPON_OUTCOME LIKE '%Spayed Female%'
OR OUTS.SEX_UPON_OUTCOME LIKE '%Neutered Male%')
ORDER BY INS.ANIMAL_ID ASC
'알고리즘&백준 > SQL' 카테고리의 다른 글
[SQL] 프로그래머스 299305 대장균들의 자식의 수 구하기 (0) | 2025.01.19 |
---|---|
[SQL] 프로그래머스 59043 있었는데요 없었습니다 (0) | 2025.01.16 |
[SQL] 프로그래머스 59042 없어진 기록 찾기 (0) | 2025.01.12 |
[SQL] 프로그래머스 131533 상품 별 오프라인 매출 구하기 (0) | 2025.01.12 |
[SQL] 프로그래머스 131118 서울에 위치한 식당 목록 출력하기 (0) | 2025.01.09 |