데이터 및 C언어/SQL 공부

[SQL] SQL 테이블 결합(JOIN)

  • -
반응형

 

 

 

[SQL] SQL 테이블 결합(JOIN)

 


 

∇ ERM ( Entity - Relationship Modeling )

    : 객체-관계 모델링이며, 관계형 데이터베이스에 테이블을 모델링할 때 사용됩니다.

        

             * 객체(Entity) : 하나 이상의 속성으로 구성된 객체

             * 관계(Relationship) : 속성(Entity)들 간의 관계.

 

ERM

 

 

 

∇ ERD ( Entity - Relationship Diagram)   

         : 객체 간의 관계를 도표로 표현할 떄 사용됩니다.

            ERM의 산출물이며, 데이터 모델을 그림으로 표현하여 관계를 나타내는 다이어그램입니다.

            

 

#FK(FOREIGH KEY)

    : 다른 테이블에서 PK(PRIMARY KEY) 

 

            ∇ERM 표기법.

       

 

 


 

이렇게 ERD상에서 관련이 있는 두개의 테이블을 대상으로 join을 진행합니다.

[현업에서 하나의 테이블만으로 데이터를 추출하는 일은 거의 없다고 봐도 무방하다고 합니다.]

 

--INNER JOIN --

같은 회원번호 기준으로 JOIN.

 

 

같은 회원번호인 것으로 JOIN을 하면서, 회원번호가 1000970인것.

 

 

--LEFT JOIN--

MEM_NO가 일치하지 않는 SALES 데이터 NULL 처리./ LEFT에 있는 데이터를 전체 보여주기.

 

 

--RIGHT JOIN--

 

 

  #정리#

- INNER JOIN : 두 테이블의 공통 값이 매칭되는 데이터만 결합.

-LEFT JOIN : 두 테이블의 공통 값이 매칭되는 데이터만 결합 + 왼쪽 테이블과 매칭되지 않는 데이터는 NULL

-RIGHT JOIN : 두 테이블의 공통 값이 매칭되는 데이터만 결합 + 오른쪽 테이블과 매칭되지 데이터는 NULL

 

 

 


# 데이터 결합(JOIN) + 조회(SELECT)

 

    : 테이블 경합 및 데이터 조회를 활용하여, 여러 테이블들을 결합하여 조회 및 분석.

 

 

- 같은 회원번호 기준으로 테이블 두개 합쳐서 SELECT.

 

- 같은 회원번호 기준으로 두개 테이블 조인 시킨 결과에서,

CUSTOMER 테이블 컬럼 전체랑, SALES테이블의 주문번호 컬럼만 뽑아서

임시 테이블로 SELECT하기.

    ++ 임시 테이블은 서버 연결 종료 시 자동으로 삭제됩니다.!

 

임시 테이블 내 '남자'
거주지(ADDR) 기준, 주문량 추출하기.

 

HAVING으로 GROUP 결과 필터링.

 

ORDER로 최종 결과 오름차순 정렬.

 

 

3개 이상 테이블 JOIN으로 묶기.

728x90
반응형
Contents

포스팅 주소를 복사했습니다

이 글이 도움이 되었다면 공감 부탁드립니다.