반응형
문제 풀이
1. 보호소에 들어올 때는 중성화가 안되어있었어야 하므로 ANIMAL_INS.SEX_UPON_INTAKE는 I로 시작해야 한다.
2. 보호소에서 나갈 때는 중성화가 되어있어야하므로 ANIMAL_OUTS.SEX_UPON_OUTCOM은 N 또는 S로 시작해야 한다.
ORACLE Code
1
2
3
4
5
6
7
8
9
10
|
SELECT I.ANIMAL_ID, I.ANIMAL_TYPE, I.NAME
FROM (
SELECT ANIMAL_ID, ANIMAL_TYPE, NAME
FROM ANIMAL_INS
WHERE SEX_UPON_INTAKE LIKE 'I%'
) I
INNER JOIN ANIMAL_OUTS O
ON I.ANIMAL_ID = O.ANIMAL_ID
AND SUBSTR(O.SEX_UPON_OUTCOME,1,1) IN ('N','S')
ORDER BY I.ANIMAL_ID;
|
cs |
Line 9에서 SEX_UPON_OUTCOME 을 가공하므로 만약 해당 칼럼에 인덱스가 걸려있으면 활용할 수 없는 것이 걸린다. Line 5처럼 Like로 N과 S에 대해 구한 후 union all을 하면 더 좋을 것 같다.
문제 링크
프로그래머스
코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요.
programmers.co.kr
반응형
'알고리즘 > 프로그래머스' 카테고리의 다른 글
프로그래머스 Lv3 추석 트래픽 (0) | 2020.09.10 |
---|---|
프로그래머스 SQL 오랜 기간 보호한 동물(1) (0) | 2020.05.23 |
프로그래머스 SQL 있었는데요 없었습니다 (0) | 2020.04.17 |
프로그래머스 SQL 없어진 기록 찾기 (0) | 2020.04.17 |
프로그래머스 Lv3 자물쇠와 열쇠 (0) | 2020.04.16 |