Problem Solving/Programmers
SQL (Level 4) : 보호소에서 중성화한 동물 - ORACLE, MySQL, JOIN, alias
eroke
2022. 4. 26. 21:14
문제
코딩테스트 연습 - 보호소에서 중성화한 동물
ANIMAL_INS 테이블은 동물 보호소에 들어온 동물의 정보를 담은 테이블입니다. ANIMAL_INS 테이블 구조는 다음과 같으며, ANIMAL_ID, ANIMAL_TYPE, DATETIME, INTAKE_CONDITION, NAME, SEX_UPON_INTAKE는 각각 동물의 아이디
programmers.co.kr
ANIMAL_INS 테이블에서 중성화를 안한 동물이 ANIMAL_OUTS 테이블에서 중성화 된 경우를 출력한다.
ANIMAL_ID를 키로 LEFT JOIN하여 풀었다.
- ORACLE
SELECT A1.ANIMAL_ID, A1.ANIMAL_TYPE, A1.NAME
FROM ANIMAL_INS A1 LEFT JOIN ANIMAL_OUTS A2
ON A1.ANIMAL_ID = A2.ANIMAL_ID
WHERE A1.SEX_UPON_INTAKE LIKE 'Intact%'
AND A2.SEX_UPON_OUTCOME IN ('Spayed Female','Neutered Male')
ORDER BY ANIMAL_ID
;
- MySQL
SELECT i.ANIMAL_ID, i.ANIMAL_TYPE,i.NAME
FROM ANIMAL_INS i, ANIMAL_OUTS o
WHERE i.ANIMAL_ID=o.ANIMAL_ID
AND i.SEX_UPON_INTAKE LIKE 'Intact%'
AND (o.SEX_UPON_OUTCOME LIKE 'Spayed%'
OR o.SEX_UPON_OUTCOME LIKE 'Neutered%')
ORDER BY ANIMAL_ID
;
반응형