[MSSQL - Outer Join 의 사용]
Outer Join은 Inner Join으로는 결과 값을 볼 수 없는 행들의 결과 값을 보기 위해서 사용되며, 조인되는 두개의 테이블에서 어느 한쪽의 결과는 모두 나오도록 테이블을 결합하는 조인방법입니다. 사용법은 Inner Join 문과 같습니다.
사용법) From 절뒤에 조인하고자 하는 테이블들이 오고 테이블사이에 (Left, Right, Full ) Outer Join 문이 삽입됩니다. 그 뒤에 On 이 오고 조인하고자 하는 조건을 적어줍니다.
Outer join 앞에 붙는 Left, Right, Full은 테이블의 주체가 어느 쪽에 있는가를 지정합니다. Outer join 앞에 아래와 같이 Left Outer Join을 사용하게 되면 테이블의 주체는 왼쪽이 되어 조건절(where절)을 두어 거르지 않는 이상 Member_tbl 의 모든 데이터가 추출됩니다.
예) SELECT * FROM Member_tbl A LEFT OUTER JOIN EventReg_tbl B ON A.uid = B.uid | |
위에서 Member_tbl은 유저테이블, EventReg_tbl은 유저의 이벤트 참여여부를 기록하는 테이블로 가정하면 추출되는 데이터는 다음과 같습니다.
Member_tbl의 모든 유저가 EventReg_tbl의 이벤트에 참여했는지를 보여주는 모든 데이타를 추출합니다. Member_tbl과 EventReg_tbl에 조인되는 결과가 없는 EventReg_tbl의 데이터는 NULL로 추출됩니다. EX) Left Outer Join으로 추출되는 데이터의 결과값 예
|
uid |
uid |
eventname |
기타필드 |
1 |
다자래 |
NULL |
NULL |
... |
2 |
더자래 |
NULL |
NULL |
... |
3 |
모두자래 |
모두자래 |
대박게임이벤트 |
... |
4 |
다잘해 |
NULL |
NULL |
... |
5 |
더잘해요 |
더잘해요 |
대박게임이벤트 |
... |
6 |
나두자래 |
NULL |
NULL |
... |
7 |
왕자래 |
NULL |
NULL |
... |
8 |
너무자래 |
NULL |
NULL |
... |
9 |
오렌지 |
오렌지 |
왕대박이벤트 |
... |
11 |
올엔지 |
올엔지 |
대박게임이벤트 |
... | |
작성자: 다자래(mfcchang@naver.com) 웹제작 토탈 커뮤니티 http://www.webmadang.net | | | |
|
|