[15일차]데이터분석-SQL(5)

isnotnull·2023년 12월 8일

SQL기초와 데이터분석

1. SQL을 활용한 데이터 분석

1. Indian Restaurant Dataset

  1. Data Source : https://www.kaggle.com/datasets/abhijitdahatonde/27000-indian-restaurant-dataset

2. Global AI, ML, Data Science Salary

  1. Data Source : https://www.kaggle.com/datasets/dparas01/global-ai-ml-data-science-salary

3. NBA Players

  1. Data Source : https://www.kaggle.com/datasets/justinas/nba-players-data/data

2. SQL 기초구문

1. 데이터 조회 기본 : SELECT, FROM, WHERE (=무엇을, 어디에서, 어떤 조건으로)

1-1. 비교연산자 : =, <>, >, <
1-2. 논리연산자 : AND, OR, NOT, IN

2. 정렬과 집계

2-1 GROUP BY
2-2 ORDER BY
2-3 집계함수 : AVG, SUM, COUNT
2-4 HAVING

3. 기초 SQL함수

3-1 문자열 : CONCAT, SUBSTR, CHAR_LENGTH
3-2 숫자 : ROUND, ABS, MOD, COALESCE

4. (Optional) DDL, DML

4-1 DDL : CREATE, ALTER, DROP
4-2 DML : SELECT, INSERT, UPDATE, DELETE

3. 여러 테이블 결합하여 사용하기

1. 다양한 JOINS

1-1 JOIN : 두 개 이상의 테이블을 특정 key를 기준으로 결합하는 것
1-2 INNER JOIN, LEFT JOIN, RIGHT JOIN, FULL OUTER JOIN
1-3 CROSS JOIN, SELF JOIN

2. UNION, UNION ALL

3. WITH

4. Subquery

4. 다양한 SQL 함수 다루기

1. 타임스탬프 함수

1-1 데이터 타입 : STRING, DATE, DATETIME, TIMESTAMP
1-2 NOW, YEAR, HOUR, WEEKDAY
1-3 날짜형식화 : STR_TO_DATE, DATE_FORMAT
1-4 날짜연산 : DATE_ADD, DATEDIFF, TIMEDIFF, TIME_TO_SEX

2. 타입변환

2-1 CAST, CONVERT

3. 조건문

3-1 IF
3-2 CASE WHEN

4. 그 외 유용한 함수

RANK, PERCENT_RANK, LEAD, LAG

5. 다양한 데이터 타입 다루기

1. 숫자

2. 문자

3. 이진

4. Array

  • JSON_EXTRACT

5. Key-value

  • JSON_EXTRACT

6. 효율적인 SQL 코드 작성하기

1. 테이블을 집합으로 생각하기

  • 필터링으로 최대한 작게 만들어 놓고 JOIN이나 집계 연산 수행

2. *, % 사용 지양하기

  • LIMIT, 파티션 조건 사용

3. 데이터 타입 잘 확인하기

4. JOIN시 유의할 점

5. 코드 가독성 높이기

7. SQL을 활용한 데이터분석

1. Indian Restaurant Dataset

1-1 프렌차이즈 여부에 따른 별점의 분포 확인
1-2 상관계수
1-3 가격과 평점에 영향을 주는 변수 확인

2. Global AI, ML Data Science Salary

2-1 그룹별 평균 비교
2-2 연봉에 영향을 주는 변수 확인

3. NBA Players

3-1 시간의 흐름에 따른 평균신장, 몸무게, 게임 수 확인
3-2 시간의 흐름에 따른 상위권 선수들의 지표 확인

위의 내용은 프로그래머스 데이터분석1기 하홍석 강사님의 강의 자료를 참고하였습니다.

0개의 댓글