문제: 유저 중 김씨 성을 가진 교육생의 수를 세는 테이블 만들기
SUBSTR(문자열, 시작 위치, (추출 길이)) : 문자열 일부 추출
답안 1 (*SUBSTR 사용)
SELECT
COUNT(DISTINCT(user_id)) name_cnt
FROM users
WHERE SUBSTR(name,1,1) = '김';
답안 2 (*LIKE 사용)
SELECT
COUNT(DISTINCT(user_id)) name_cnt
FROM users
WHERE name LIKE '김%';
결과창

상황: 이번에는 이용자들이 잘 활동하고 있는지 보고자 합니다. 포인트가 많을수록 활동을 잘하고 있다고 생각 할 수 있습니다. 날짜별로 획득한 포인트가 점점 늘어나는지 줄어드는지 확인해 봅시다.
DATE: 데이터형을 날짜값으로 반환
AVG: 평균값 계산
ROUND: 반올림 (ROUNG(VALUE,1), ROUNG(VALUE,2) 등으로 활용 가능. 뒤의 숫자는 '소수점 몇 번째 자리까지 반올림할 것인지'를 나타냄.
답안
SELECT
DATE(created_at) AS created_at,
ROUND(AVG(point)) AS average_points
FROM
point_users
GROUP BY
DATE(created_at);
결과창


=> 데이터 분석가와 데이터 사이언티스트의 차이
데이터 분석가와 데이터 사이언티스트가 당연히 같은 줄 알았는데, 조금은 다르다는 얘기를 들었다. 그래서 둘을 비교 분석해 봤다.
실무적으로는 데이터 분석가가 리포팅 업무만 하지 않는다고 한다.
| 역량 유형 | 데이터 분석가 (Data Analyst) | 데이터 사이언티스트 (Data Scientist) |
|---|---|---|
| SQL | ✅ 데이터 추출, 필터링, 집계에 필수 | ✅ 대용량 데이터 분석과 전처리를 위한 기본 도구 |
| Python | ✅ pandas, matplotlib 등 분석 자동화에 활발히 사용 | ✅ 머신러닝 모델 구현과 실험 자동화에 필수 |
| 시각화 도구 (Tableau, Power BI 등) | ✅ 대시보드와 리포트 작성에 필수 | ⚪ 결과 공유에 보조적으로 활용 |
| 통계적 사고력 | ✅ A/B 테스트 등 실무 중심의 통계 지식 필요 | ✅ 평가 지표 이해 및 실험 설계를 위한 이론 기반 통계 필수 |
| 머신러닝 지식 | ⚪ 기초 수준 있으면 유리, 직접 구현은 거의 없음 | ✅ 지도·비지도 학습, 분류·예측 등 모델링 핵심 역량 |
| 도메인 이해 및 문제 해결력 | ✅ 분석 결과가 실제 비즈니스에 어떻게 도움이 되는지 설명할 수 있어야 함 | ✅ 기술이 서비스나 제품에 어떤 영향을 줄지 고려하고 설계할 수 있어야 함 |
(=>핵심 역량 비교 분석)
데이터 분석을 공부하는 입장에서는 결국 모두 잘 해야 한다는 생각이 든다. 단순히 데이터 분석만으로는 당연히 경쟁력이 없다. 기술적 역량은 기본적으로 갖추고, 스토리텔링 능력과 여타 역량을 같이 키워야 할 것이다.