문제
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
;
반응형
'Problem Solving > Programmers' 카테고리의 다른 글
SQL (Level 3) : 오랜 기간 보호한 동물(2) - MySQL, JOIN, LIMIT (0) | 2022.04.26 |
---|---|
SQL (Level 4) : 우유와 요거트가 담긴 장바구니 - MySQL, JOIN (2) | 2022.04.26 |
프로그래머스 (Level 2) : 오픈채팅방 / Python, dictionary / 2019 KAKAO BLIND RECRUITMENT (0) | 2022.04.20 |
SQL (Level 2) : 중성화 여부 파악하기 - ORACLE, CASE (0) | 2022.03.18 |
프로그래머스 (Level 1) : 두 개 뽑아서 더하기 / Python, dictionary (0) | 2022.03.01 |