Notice
Recent Posts
Recent Comments
Link
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | 5 | 6 | 7 |
8 | 9 | 10 | 11 | 12 | 13 | 14 |
15 | 16 | 17 | 18 | 19 | 20 | 21 |
22 | 23 | 24 | 25 | 26 | 27 | 28 |
29 | 30 |
Tags
- row_number
- lv.4
- join
- 어려웠음
- SQL
- 다시풀어보기
- recursive
- 프리미엄
- 직장인인강
- 시계열데이터분석
- SELF-JOIN
- 패캠챌린지
- Hard
- 파이썬을활용한시계열데이터분석AtoZ올인원패키지Online
- group by
- HACKER_RANK
- 파이썬을활용한시계열데이터분석
- LeetCode
- RANK
- 직장인자기계발
- 해커랭크
- Hackerrank
- solvesql
- meidum
- medium
- 패스트캠퍼스후기
- easy
- 프로그래머스
- MySQL
- 패스트캠퍼스
Archives
- Today
- Total
~고군분투 인생살이~
[JOIN] 보호소에서 중성화한 동물 본문
1. 문제 설명
보호소에서 중성화 수술을 거친 동물 정보를 알아보려 합니다.
보호소에 들어올 당시에는 중성화 되지 않았지만, 보호소를 나갈 당시에는 중성화된 동물의
아이디와 생물 종, 이름을 조회하는 아이디 순으로 조회하는 SQL 문을 작성해주세요.
2. 문제 풀이
해당 문제는 서브쿼리를 써야 할 것 같다는 생각이 들었습니다.
1. 보호소에 들어올 당시에는 중성화 되어 있지 않았지만, 보호소를 나갈 당시에는 중성화 된 => 해당 결과를 찾기 위해서는 INS와 OUTS 테이블을 LEFT JOIN 해야합니다.
2. 보호소에 들어올 당시에는 중성화가 되지 않은=> 해당 데이터를 찾기 위해서 INS 테이블 SEX_UPON_INTAKE 컬럼에 있는 데이터 중 'INTACT%' 를 포함하는 데이터를 찾아줍니다.=> 이렇게 찾은 데이터를 서브쿼리로 사용 할 계획입니다.
3. 보호소를 나갈 당시에는 중성화가 된 => 중성화가 되지 않은 동물의 데이터를 가진 INS 테이블과 OUTS 테이블을 JOIN 합니다. => INS 테이블과 OUTS 테이블에서 중성화 상태 데이터가 같지 않다면, 우리가 찾는 데이터가 됩니다.
3. 정답
SELECT A.ANIMAL_ID, A.ANIMAL_TYPE, A.NAME
FROM (SELECT *
FROM ANIMAL_INS
WHERE SEX_UPON_INTAKE LIKE 'Intact%') A
LEFT JOIN ANIMAL_OUTS B
ON A.ANIMAL_ID = B.ANIMAL_ID
WHERE A.SEX_UPON_INTAKE != B.SEX_UPON_OUTCOME
ORDER BY 1;
'SQL > 프로그래머스' 카테고리의 다른 글
[STRING,DATE]중성화 여부 파악하기 (0) | 2022.05.22 |
---|---|
[NULL] NULL 처리하기 (0) | 2022.05.22 |
[JOIN] 오랜 기간 보호한 동물(1) (0) | 2022.05.22 |
[JOIN] 있었는데요 없었습니다 (0) | 2022.05.22 |
[JOIN] 없어진 기록 찾기 (0) | 2022.05.21 |
Comments