1. SQL의 중요성 : 모든 데이터 직군에게 필요한 기술은 SQL - 데이터 엔지니어 : 파이썬, 자바, 스칼라, SQL, 데이터베이스, ETL/ELT, Spark, Hadoop - 데이터 분석가 : SQL, 비즈니스 도메인에 대한 지식, 통계(AB 테스트 분석) - 데이터 과학자 : 머신러닝, SQL, 파이썬, 통계 ==> 데이터 요약과 데이터 분석을 위한 SQL : 백엔드/프론트엔드 개발자와는 SQL을 사용하는 목적이 다름 2. 배움이란? 배움에는 시간과 노력이 걸림 : 정체기는 자연스러운 과정임 1) 가장 중요한 것은 버티는 힘 : 어느정도는 즐겨야함. 2) 내가 뭘 모르는지 생각해봐야함 :..
STUDY
7. SQL을 활용한 데이터 분석 : 캐글의 데이터셋 활용 7-1. 실전 데이터 분석 사례 1 : Indian Restaurant Dataset https://www.kaggle.com/datasets/abhijitdahatonde/27000-indian-restaurant-dataset : 인도내 식당들에 있는 정보를 다각도로 제공 (평점, 식당음식의 평균 가격, 평균 배달 시간, 북인도 위치 여부, 패스트푸드 여부, 길거리음식 여부 등) 🍜 27,000 + Indian Restaurant Dataset 🏰 🍰 Indian Restaurants dataset www.kaggle.com 이제, MariaDB에 데이터셋을 올려 데이터를..
6. 효율적인 SQL 코드 작성하기 6-1. 테이블을 집합으로 생각하기 - 최대한 작게 만들어 놓고 JOIN 하기 : 최대한 먼저 필터링을 해서 집합 크기를 줄여준 뒤, 다른 테이블과 JOIN 하는 것이 좋음 선 필터링 후 JOIN VS 선 JOIN 후 필터링 ==> 시간이 훨씬 짧음! 6-2. *, % 사용 지양하기 새로운 테이블을 접했을 때.. - LIMIT 걸고 조회하기 : 행수가 매우 큰 테이블을 확인할 수도 있기 때문에, 항상 LIMIT을 거는 것이 좋음 SELECT product_id, name FROM products LIMIT 10 - 파티션이 있는 테이블인지 확인하고, 파티션을 필터 조건으로 걸고 조회하기 ex. 유..
5. 다양한 데이터 타입 다루기 5-1. 숫자 BIT(M) : 0과 1로만 구성. 컴퓨터가 데이터를 저장하는 기본 단위 (예> b’111’ = 7) M은 몇 자리 비트를 사용할 것인지 의미. 1 16비트까지 사용가능 -32768 ~ 32767 0 ~ 65535 MEDIUMINT : 중간 크기 정수 (대략 1670만개의 정수) -> 24비트까지 사용가능 -8388608 ~ 8388607 0 ~ 16777215 INT, INTEGER : 정수(일반적으로 사용하는 정수타입) -> 32비트까지 사용 가능 -2147483648 ~ 2147483647 0 ~ 4294967295 BIGINT, SERIAL : INT 타입보다 2배 많은 비트를 사..
4. 다양한 SQL 함수 다루기 4-1. 타임스탬프 함수 : SQL에서 날짜와 시간 다루기 ex. 현재 시점에서 고객이 얼마전에 구매했는지 알 수 있음 -- STR_TO_DATE : 문자열을 날짜형식으로 바꾸는 함수 -- DATEDIFF : 날짜간 차이를 구하는 함수 SELECT user_name, DATEDIFF(NOW(), STR_TO_DATE(date, '%Y%m%d')) as dist FROM orders 데이터 타입 - STRING : ‘yyyy-mm-dd’, ‘yyyy-mm-dd HH:MM:SS’ - DATE : yyyy-mm-dd (저장 공간이 적음) - DATETIME : YYYY-MM-DD HH:MM:SS ..
3. 여러 테이블 결합하여 사용하기 3-1. 다양한 JOINS JOIN: 두 개 이상의 테이블을 특정 key를 기준으로 결합하는 것 테이블을 쪼개놓는 이유 : 각 테이블을 효율적으로 관리, 저장하기 위해 -> 테이블에 저장한 데이터에 변경사항이 있을 수 있기 때문 + 같은 데이터를 중복 저장하는 것 방지. INNER JOIN : 두 개의 테이블에서 일치하는 행만 가져와서 JOIN 즉, 연결된 열에서 값이 일치하는 경우만 반환(교집합) 컬럼값이 비어있거나 한 쪽에만 있는 행은 결과에서 제외됨 -> 특정행이 결과에 포함되어 있지 않으면 JOIN 조건 확인 필요 ==> 교집합을 구하면서 대상 행 수를 줄이기 때문에 다른 JOIN보다 속도..
1. SQL과 RDB란 무엇인가 1-1. SQL 학습 목적 : 데이터로 다양한 Data Product를 만들기 위해 Database에서 데이터를 가져와야 함 -> 이때 사용되는 언어가 SQL (Data Product란? 분석 보고서 혹은 머신러닝 모델 등 데이터 과학자/분석가가 만들어내는 다양한 모든 산출물) 1) 원하는 형태로 데이터를 가져올 수 있다. 2) 효율적으로 데이터를 가져올 수 있다. 3) 간단한 데이터 분석을 수행할 수 있다. -> 보통 데이터만 적재하고 나머지는 P 등으로 분석하는데, SQL으로 간단하게 데이터를 분석할 수도 있음 1-2. RDBMS / SQL 개요 데이터베이스: 데이터를 쌓아두는 곳 & 관리시스템 ..
1. 결측치 : 0이 아닌 값 (언어 별로 다른 명칭을 가짐) - NA : Not Available (유효하지 않음) - NaN : Not a Number (숫자가 아님) - Null : 아무것도 존재하지 않음 결측치가 발생하는 이유 : 실제로 값을 입력하지 않은 경우 : 설문조사 특정 질문에 미응답 : 데이터의 오류 등등 - 결측치는 데이터의 손실을 불러올 수 있음 - 결측치 대체에 따라 데이터에서 편향이 생길 수 있음 - 결측치 처리에 따라 분석결과가 매우 달라질 수 있음 2. 결측값 대체하기 1. 평균으로 대체하기 : 변수의 결측값을 평균값으로 대체 : 특정 정보가 존재하지 않을 경우 평균값이 가장 좋은 샘플이라는 논리에 기인 : 정보의 손실은 줄어들 수 있으나, 결측치에 대한 불확실성을 고려하지 ..
엑셀 데이터의 종류에 대해 알아보기 - 논리데이터 : True(1), False(0) : 참이나 거짓을 표시하는 데이터 : 논리 함수에 주로 사용됨 - 논리 함수 : 주어진 조건에 따라 참 또는 거짓을 반환 : If, And, OR, NOT 함수 등이 포함됨 - 수식 데이터 : =1+2+3, =SUM(A1, A2) : 함수 혹은 수식으로 구성되어진 데이터 - 집계함수 : 여러개의 입력을 받아 하나의 결과물 출력 : SUM, MAX, MIN, AVERAGE 등의 함수 엑셀의 집계 함수 SUM : 모든 범위 값의 한계를 계산 : =SUM(A1:A2) MAX : 모든 범위 중의 최댓값을 검색 = MAX(A1:A4) MIN : 모든 범위 값 중 최소값을 검샘 = MIN(A1:A4) AVERAGE : 모든 범위 ..
데이터란 무엇인가 : 이론을 세우는 데 기초가 되는 사실, 또는 바탕이 되는 자료 데이터 -> 정보 -> 지식 -> 지혜 순으로 올라감. 데이터를 통해 정보 획득, 이를 통해 지식 획득, 이를 통해 지혜를 획득 가능 실습 준비하기 공공데이터포털 -> 본인이 흥미있는 데이터 찾아보기 데이터의 종류 및 실습 - 숫자 데이터 : 숫자로 이루어져 있는 데이터 - 문자 데이터 : 문자와 숫자가 혼합된 데이터 : 특정 함수 사용 불가 / 문자열 함수 사용 가능 - 날짜 데이터 : 년, 월, 일 등 날짜를 표시하기 위한 데이터 : 숫자 1은 하루를 의미. 계산 가능 : 하이픈(-) 이나..