반응형

문제 풀이

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

 

반응형

+ Recent posts