JOIN

JOIN

서로 다른 데이터 테이블을 연결하는 것

테이블 내의 데이터를 연결할 수 있는 공통 값이 있어야 함.

image위 같은 상황에선 트레이너 데이터에 pokemon_id를 추가하거나 포켓몬 데이터에 trainer_id를 추가해야 join이 가능하다

 

image아니면 위와 같은 테이블을 하나 만들어 각각 join을 하면 가능하다

JOIN을 하기 위해선 key를 기준으로 한다. 보통 xx_id로 설정

 

Why JOIN?

정규화 과정을 통해 데이터의 중복을 최소화한다.

이때 User Table에선 User 데이터만, Order Table에선 order 데이터만 저장.

때문에 공통된 칼럼을 찾기 위해선 JOIN 필요 (JSON 같은 NOSQL 기반에서는 불필요)


SQL JOIN

image

  • INNER JOIN

    image

  • LEFT (OUTER) JOIN

image

  • RIGHT JOIN

    image

  • FULL (OUTER) JOIN

image

  • CROSS JOIN

image



JOIN 작성

 

image


요령

하려는 작업의 목적에 맞춰 JOIN 선택

  • 교집합 : INNER

  • 모든 조합: CROSS

  • 이외: LEFT or RIGHT, 주로 LEFT를 선택

    • LEFT는 기준에 기준값이 있으며 우측으로 데이터를 추가하는 방식이다.

      • 보기 편함

 

 

 

 

 

 

댓글을 작성해보세요.