Outer Join
- Join 조건을 만족하지 않는 경우에도 다른 행들을 보기 위해 사용
- 한쪽 테이블에는 해당하는 데이터가 존재하는데 다른 쪽 테이블은 데이터가 존재하지 않을 경우 모두 데이터를 출력하게 하는 조인
- 조인시킬 값이 없는 즉 null 행으로 결합하는 (데이터가 없는 table)쪽에 (+) 연산자를 사용
- (+)를 사용하는 위치는 Join할 데이터가 부족한 쪽에 위치시킴
- Outer Join 조건이 걸려있는 테이블에는 다른 조건절이 들어와도 똑같이 Outer 조인 연산자를 (+) 해주어야함
- left out join : 왼쪽 테이블이 기준
왼쪽 테이블의 자료는 모두 출럭되고 오른쪽 테이블의 자료는 연결되는 것들만 출력
왼쪽 테이블의 컬럼명 = 오른쪽 테이블의 컬럼명(+)
- right outer join : 오른쪽 테이블이 기준
왼쪽 테이블의 컬럼명(+) = 오른쪽 테이블
- 제약사항
표현식의 한측에만 올수 있는데 정보가 부재한 쪽에 둠
다른 테이블의 어떠한 컬럼에도 일치하지 않는 한 테이블의 행을 돌려줌
outer join을 포함하는 조건은 IN 연산자를 사용할 수 없고, OR 연산자에 의해 다른 하나의 조건에 연결하는 것이 불가능하고, SubQuery를 사용할 수 없음
'04번. IT 힌트얻기 > ▶ DB/ SQL ' 카테고리의 다른 글
Oracle Function (0) | 2011.11.08 |
---|---|
ROLL UP (0) | 2011.10.07 |
[SQL 고수되기] 열한번째 이야기 (0) | 2011.10.06 |
[SQL 고수되기] 열번째 이야기 (0) | 2011.10.06 |
[SQL 고수되기] 아홉번째 이야기 (0) | 2011.10.06 |