꿈꾸는 개발자의 블로그
[프로그래머스] Oracle - (SQL 고득점 Kit) JOIN 보호소에서 중성화한 동물 본문
문제
보호소에서 중성화 수술을 거친 동물 정보를 알아보려 합니다. 1) 보호소에 들어올 당시에는 중성화1되지 않았지만, 보호소를 나갈 당시에는 중성화된 동물의 2) 아이디와 생물 종, 이름을 조회하는 아이디 순으로 조회하는 SQL 문을 작성해주세요.
문제 풀이
- 두 테이블을 JOIN 후, ANIMAL_INS 테이블의 중성화 여부와 ANIMAL_OUTS 테이블의 중성화 여부를 각각 구하기 위하여 'Intact'가 포함되어 있는지와 없는지 WHERE 조건을 건다.
- 위의 결과에서 중복 없이 동물 ID와 종, 이름을 조회하기 위하여 GROUP BY로 묶는다. (DISTINCT로 조회도 가능)
전체 코드
SELECT a.ANIMAL_ID, a.ANIMAL_TYPE, a.NAME
FROM ANIMAL_INS a JOIN ANIMAL_OUTS b ON a.ANIMAL_ID = b.ANIMAL_ID
WHERE SEX_UPON_INTAKE LIKE 'Intact%' AND SEX_UPON_OUTCOME NOT LIKE 'Intact%'
GROUP BY a.ANIMAL_ID, a.ANIMAL_TYPE, a.NAME
ORDER BY 1
728x90
728x90
'Algorithm > Programmers' 카테고리의 다른 글
[프로그래머스] Oracle - (SQL 고득점 Kit) JOIN 상품을 구매한 회원 비율 구하기 (0) | 2023.02.27 |
---|---|
[프로그래머스] Oracle - (SQL 고득점 Kit) JOIN 상품 별 오프라인 매출 구하기 (0) | 2023.02.27 |
[프로그래머스] Oracle - (SQL 고득점 Kit) JOIN 오랜 기간 보호한 동물(1) (0) | 2023.02.27 |
[프로그래머스] Oracle - (SQL 고득점 Kit) JOIN 있었는데요 없었습니다 (0) | 2023.02.27 |
[프로그래머스] Oracle - (SQL 고득점 Kit) JOIN 없어진 기록 찾기 (0) | 2023.02.27 |
Comments