sailorCat
카테고리
작성일
2022. 2. 25. 20:05
작성자
sailorCat
728x90

JOIN

두 개 이상의 테이블들을 공통 필드를 통해 merge 하는데 사용된다.

스타 스키마로 구성된 테이블들로 분산되어 있던 정보를 통합할 수 있다.

 

 

 

Join의 문법

 

SELECT A.*, B.*

FROM raw_data.table1 A

(      ) JOIN raw_data.table2 B ON A.key1 = B.key1 and A.key2 = B.key2

WHERE A.ts >= '2019-01-01';

 

(      ) 괄호 안에는 JOIN의 종류에 따라 생략 될 수도 있고 INNER, LEFT, RIGHT, FULL, CROSS 가 들어갈 수 있다.

 

 

 

 

JOIN 할 때 고려해야 하는 점

- 중복 레코드가 없어야 한다.

 

- Primary Key의 유니크함이 보장되어야 한다.

 

- JOIN 하는 테이블 간의 관계를 명확히 정의해야 한다.

One to one : 완전한 one to one, 한쪽이 부분집합이 되는 one to one

One to many : 중복 문제가 생길 수 있음

Many to one : One to many와 흡사

Many to Many : 거의 등장하지 않으며 한쪽을 One으로 만들거나 둘다 One으로 바꾸는 것이 리스크가 적음

 

- 어느 테이블을 베이스로 잡을지 결정하여야 한다.

 

Vital 

유저 아이디, 바이탈 아이디, 날짜, 체중

Alert

경고 아이디, 바이탈 아이디, 경고, 날짜, 유저아이디

 

몸무게와 상태를 측정하여 발생할 수 있는 몸의 이상 반응을 경고한다.

 

 

728x90