ssung_데이터 엔지니어링/5주차_데이터 웨어하우스, SQL, 데이터분석 4

데이터 웨어하우스, SQL, 데이터분석 (4)

JOIN 두 개 혹은 그 이상의 테이블들을 공통 필드를 가지고 머지하는데 사용 Star 스키마 형태로 구성된 테이블들로 분산되어 있던 정보를 통합하는데 사용 다양한 종류의 JOIN JOIN 문법 - JOIN 앞의 빈 칸에 INNER, FULL, LEFT, RIGHT, CROSS의 다양한 형태의 JOIN이 들어감 SELECT A.*, B.* FROM raw_data.table1 A ____ JOIN raw_data.table2 B ON a.key1 = B.key1 and A.key2 = B.key2 JOIN 시 고려해야할 점 중복 레코드가 없고 Primary Key의 uniqueness가 보장됨을 확인 - 가장 중요한 작업! JOIN 하는 테이블들간의 관계를 명확하게 정의 one to one one to ..

데이터 웨어하우스, SQL, 데이터분석 (3)

GROUP BY & Aggregate 함수 테이블의 레코드를 그룹화하여 그룹별로 다양한 정보를 계산 두 단계로 이루어짐 GROUP BY를 사용해 그룹핑 할 필드를 결정 (하나 이상의 필드 설정 가능) Aggreagate 함수를 사용해 계산할 내용 결정 (COUNT, SUM, AVG, MIN, MAX, LISTAGG...) 월별 세션수를 계산하는 SQL SELECT LEFT(ts, 7) AS mon, COUNT(1) AS session_count FROM raw_data.session_timestamp GROUP BY 1 -- GROUP BY mon, GROUP BY LEFT(ts, 7) ORDER BY 1; 가장 많이 사용된 채널은? SELECT channel, COUNT(1) AS session_cou..

데이터 웨어하우스, SQL, 데이터분석 (2)

SQL 기본 다수의 SQL 문을 실행한다면 세미콜론으로 분리 필요 SQL_1; SQL_2; SQL_3; 주석 -- (주석내용) : 인라인 한 줄짜리 주석 /* (주석내용) */ : 여러 줄에 걸쳐 사용 가능한 주석 팀 프로젝트의 경우 팀에서 사용하는 포맷 설정 후 진행 테이블/필드 이름의 규칙을 정하는 것이 중요 SQL DDL - 테이블 구조 정의 언어 CREATE TABLE Primary key 속성을 지정할 수 있지만, 무시 (Primary key uniqueness - 데이터 웨어하우스에서는 지켜지지 않음) CTAS - CREATE TABLE 테이블 이름 AS SELECT 새로운 테이블을 생성할 때 기존의 테이블의 내용과 똑같이 한 번에 복사하고자 할 때 사용 DROP TABLE DROP TABLE..

데이터 웨어하우스, SQL, 데이터분석 (1)

관계형 데이터베이스 구조화된 데이터를 저장하고 질의할 수 있도록 해주는 스토리지 엑셀 스프레드시트 형태의 테이블로 데이터를 정의하고 저장 관계형 데이터 베이스를 조작하는 프로그래밍 언어가 SQL DDL (Data Definition Language) - 테이블 정의를 위함 DML (Data Manipulation Language) - 테이블 데이터 조작/질의를 위함 프로덕션 데이터베이스 - MySQL, PostgreSQL, Oracle... OLTP (OnLine Transaction Processing) 빠른 속도에 집중. 서비스에 필요한 정보 저장 데이터 웨어하우스 - Redshift, Snowflake, BigQuery, Hive... OLAP (OnLine Analyical Processing) ..

728x90