본문 바로가기
SQL

본 캠프 1일차 SQL TIL

by Data 학습자 2024. 6. 24.

https://school.programmers.co.kr/learn/courses/30/lessons/59045

 

프로그래머스

코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요.

programmers.co.kr

보호소에서 중성화한 동물

 

가장 처음 문제를 풀었을때의 쿼리문

 

-- 동물의 아이디, 타입, 이름을 선택해서 불러오기
SELECT I.ANIMAL_ID, I.ANIMAL_TYPE, I.NAME

-- INS 데이터 안에 OUTS 데이터가 포함되어 있는 데이터만 추출
FROM ANIMAL_INS I INNER JOIN ANIMAL_OUTS O ON I.ANIMAL_ID = O.ANIMAL_ID

-- INS 데이터에 중성화가 안되어 있는 경우
WHERE I.SEX_UPON_INTAKE LIKE 'Intact%' AND O.SEX_UPON_OUTCOME NOT LIKE 'Intact%'
ORDER BY ANIMAL_ID

 

이 쿼리문을 처음 작성을 한 뒤 WHERE문을 짧고 직관적으로 간추릴 수 있겠다는 생각이 들었다.

그렇게 머리를 굴려보며 요약을 하려고 해본 결과가 보호소에 들어오기 전과 후의 중성화한 정보가 서로 같지 않다면 그 말은 곧 보호소에 들어온 이후 중성화를 했다는 말이 되므로 그렇게 쿼리문을 작성하면 되겠다는 가설을 세웠다.

 

최종적으로 생각을 정리하고 아티클 스터디를 한 뒤에 만들어낸 쿼리문

 

-- 동물의 아이디, 타입, 이름을 선택해서 불러오기
SELECT I.ANIMAL_ID, I.ANIMAL_TYPE, I.NAME

-- INS 데이터 안에 OUTS 데이터가 포함되어 있는 데이터만 추출
FROM ANIMAL_INS I INNER
JOIN ANIMAL_OUTS O 

ON I.ANIMAL_ID = O.ANIMAL_ID

-- INS 데이터에 중성화가 안되어 있는 경우
WHERE I.SEX_UPON_INTAKE != O.SEX_UPON_OUTCOME
ORDER BY ANIMAL_ID

 

내 생각의 결과는 맞다는 결과가 나왔으며 아티클 스터디로 인해 쿼리문의 가독성을 높인 결과 직관적이고 이해하기 쉬운 쿼리문의 작성이 완료되었다

'SQL' 카테고리의 다른 글

본 캠프 6일차 SQL TIL  (0) 2024.06.29
본 캠프 5일차 SQL TIL  (0) 2024.06.28
본 캠프 4일차 SQL TIL  (0) 2024.06.27
본 캠프 3일차 SQL TIL  (0) 2024.06.26
본 캠프 2일차 SQL TIL  (0) 2024.06.25