728x90
- 문제 핵심 조건
1. 보호소에 들어올 당시에는 중성화 되지 않았지만, 보호소를 나갈 당시에는 중성화된 동물의 아이디와 생물 조회
=> 보호소에 들어올 당시에는 중성화 되지 않았지만, 보호소를 나갈 당시에는 중성화된 동물 : ins 테이블과 outs 테이블 모두 동물의 ID가 같아야 하고 존재해야 하므로 INNER JOIN
=> 보호소에 들어올 당시에는 중성화 되지 않음 : Spayed 와 Neutered 를 포함하지 않음 -> LIKE, AND
=> 보호소를 나갈 당시에는 중성화 되지 않음 : Spayed 또는 Neutered 를 포함함 -> LIKE, OR
* 중성화를 거치지 않은 동물 : Intact, 중성화를 거친 동물 : Spayed 또는 Neutered
2. 이름을 조회하는 아이디 순으로 조회
=> 아이디 순으로 조회 : ORDER BY
* 테이블 : ANIMAL_INS(보호소에 들어온 동물들), ANIMAL_OUTS(보호소에서 나간 동물들)
* 칼럼명 : ANIMAL_ID(아이디), NAME(이름), DATETIME(보호시작일)
- 정답 코드
SELECT INS.ANIMAL_ID, INS.ANIMAL_TYPE, INS.NAME
FROM ANIMAL_INS AS INS
JOIN ANIMAL_OUTS AS OUTS
ON INS.ANIMAL_ID = OUTS.ANIMAL_ID
WHERE ((INS.SEX_UPON_INTAKE NOT LIKE "SPAYED%") AND (INS.SEX_UPON_INTAKE NOT LIKE "NEUTERED%"))
AND ((OUTS.SEX_UPON_OUTCOME LIKE "SPAYED%") OR (OUTS.SEX_UPON_OUTCOME LIKE "NEUTERED%"))
ORDER BY INS.ANIMAL_ID
- 문제링크 : programmers.co.kr/learn/courses/30/lessons/59045
728x90
'알고리즘 > SQL' 카테고리의 다른 글
프로그래머스 입양 시각 구하기(1) (GROUP BY) (0) | 2020.11.22 |
---|---|
프로그래머스 있었는데요 없었습니다 (JOIN) (0) | 2020.11.21 |
프로그래머스 없어진 기록 찾기 (JOIN) (0) | 2020.11.19 |
프로그래머스 동명 동물 수 찾기 (GROUP BY) (0) | 2020.11.18 |
프로그래머스 아픈 동물 찾기 (SELECT) (0) | 2020.11.17 |
댓글