티스토리 뷰

IT의 유익/DB

JOIN의 종류와 활용방법

유익이아빠 2017. 3. 15. 10:40

DBMS의 종류에 따라 조금씩 차이는 있지만 개념 이해하는 정도만 넘어가도록 하자

조인이란 두 개이상의 테이블들을 합성한 후, 여기서 유용한 정보를 추출하는 연산이다.

A라는 테이블에서 학생의 학적정보(학번, 이름, 학과)가 있고

B라는 테이블에서 학생의 신상정보(학번, 주소, 연락처)가 있을때,

A와 B 두개의 테이블을 조인해서 select 함으로서 학번, 이름, 주소를 한번의 쿼리로 표시할 수 있다.

조인의 종류는 크로스 조인, 자연 조인, 내부 조인, 외부 조인, 자체 조인등 여러가지가 있는데

그중 몇 가지만 알아보자.

1. 크로스 조인 : 상호조인이라고도 하며 두 테이블을 서로 곱하는 개념의 연산으로, 일명 카디션 곱이라고 한다.

위의 예에서

"select * from 학적정보 cross join 신상정보;(mssql)", "select * from 학적정보, 신상정보(oracle)"을 하면

두 개의 테이블에 모든 정보가 곱해져서 나온다.

실용성은 없지만, 조인의 개념을 처음 이해하는데 도움이 된다.

2. 내부조인 : 각 테이블에서 비교 연산자에 의한 조인 조건을 만족하는 행들만 조인 테이블에 포함시키는 조인이다.

"select * from 학적정보, 신상정보 where 학적정보.학번 = 신상정보.학번"을 하면

학번별 학번,이름,학과,주소,연락처를 구할수 있다.

3. 외부조인 :  외부조인은 조인 조건을 만족하지 않는 행까지 결과 집합에 포함시켜 돌려주는 특수한 조인으로, 집계할 때 사용된다.

"select * from 학적정보, 신상정보 where 학적정보.학번(+) = 신상정보.학번" 혹은

"select * from 학적정보, 신상정보 where 학적정보.학번 = 신상정보.학번(+)"

 

 

 

 

728x90
반응형
댓글