이번주에는 '직장인을 위한 실전 데이터분석' 강의를 수강한다.
첫 주차에선 데이터 분석이 필요한 이유와 타이타닉 예제를 통한 데이터 분석 기초를 살펴보았다.
강의를 듣고 남은 시간엔 SQL 예제 풀이를 하였다.
- 데이터 분석의 기본 구조
1. 문제 정의 및 가설 설정하기
2. 데이터 분석 기본 세팅 하기
3. 데이터 분석하기
4. 분석 결과 시각화 하기
5. 최종 결론 내리기
1주차 숙제
- 피마 인디언 당뇨병 데이터 세트를 이용해 당뇨병 발생에 가장 많이 영향을 미치는 요소를 찾아보자.
먼저 데이터 셋을 불러와 데이터 전처리를 해주고 분석 툴을 사용해 데이터를 분석한다.
분석된 결과를 그래프로 시각화해 준 뒤 필요한 정보만 남기고 정리한다.
정리된 그래프 결과를 보면 'Glucose'의 값이 가장 큰 것을 확인할 수 있다.
따라서 당뇨병 발병에 가장 큰 영향을 미치는 요소는 'Glucose' 글루코스 수치이다.

SQL 예제 풀이
- 동물 보호소에 들어온 동물 중, 이름이 있는 동물의 ID를 조회하는 SQL 문을 작성해주세요. 단, ID는 오름차순 정렬되어야 합니다.
이름이 있는 동물의 ID를 조회해야 하기 때문에 조건문 where NAME is not null 을 통해 필터링 해주었다.
select ANIMAL_ID
from ANIMAL_INS
where NAME is not null
order by ANIMAL_ID
- 동물 보호소에 들어온 모든 동물의 이름과 보호 시작일을 조회하는 SQL 문을 작성해주세요. 이때 결과는 ANIMAL_ID 역순으로 보여주세요.
order by ANIMAL_ID desc 를 입력하여 결과를 ANIMAL_ID의 역순으로 출력해주었다.
select NAME, DATETIME
from ANIMAL_INS
order by ANIMAL_ID desc
- 동물 보호소에 들어온 동물의 이름은 몇 개인지 조회하는 SQL 문을 작성해주세요. 이때 이름이 NULL인 경우는 집계하지 않으며 중복되는 이름은 하나로 칩니다.
count(distinct NAME) 를 통해 중복된 이름을 제거했는데 이 과정에서 이름이 NULL인 경우도 제거가 되기 때문에
where NAME is not null 은 입력하지 않아도 무방하다.
select count(distinct NAME) COUNT
from ANIMAL_INS
where NAME is not null
- 동물 보호소에 들어온 모든 동물의 아이디와 이름을 ANIMAL_ID 순으로 조회하는 SQL 문을 작성해주세요.
select ANIMAL_ID, NAME
from ANIMAL_INS
order by ANIMAL_ID
- 동물 보호소에 동물이 몇 마리 들어왔는지 조회하는 SQL 문을 작성해주세요.
select count(ANIMAL_ID) COUNT
from ANIMAL_INS
- 동물 보호소에 들어온 동물 중 아픈 동물의 아이디와 이름을 조회하는 SQL 문을 작성해주세요. 이때 결과는 아이디 순으로 조회해주세요.
문제에서 말하는 아픈 동물이란 INTAKE_CONDITION 이 Sick 인 상태를 말하는 것이므로 조건절을 통해 필터링 해준다.
select ANIMAL_ID, NAME
from ANIMAL_INS
where INTAKE_CONDITION='Sick'
order by ANIMAL_ID
'Today I Learned' 카테고리의 다른 글
231206 / 데이터 분석 3주차 및 예제 풀이 (0) | 2023.12.06 |
---|---|
231205 / 데이터 분석 2주차 및 예제 풀이 (0) | 2023.12.05 |
231201 / SQL 5주차 완강 (0) | 2023.12.01 |
231130 / SQL 4주차 (0) | 2023.11.30 |
231129 / SQL 3주차 (0) | 2023.11.29 |