outer join 이라는 게 무엇일까요 :/)
DB 에서 서로 다른 테이블에 있는 자료들을 서로 연결하여 호출해 내는 것을 join 이라고 합니다. 이 join 이라는 것에는 개념상으로 몇가지 종류로 나눌 수 있습니다.
오른쪽과 왼쪽 두개의 테이블이 있다고 생각해 봅시다. (공책에 그렇게 두개의 테이블을 적었다고 생각해 봅시다.)
left outer join:
왼쪽 table의 자료는 모두 출력되고 오른쪽 table의 자료는 연결되는 것들만 출력
왼쪽 테이블의 COL명 = 오른쪽 테이블 COL명(+)
right outer join
:위와 반대
왼쪽 테이블의 COL명(+) = 오른쪽 테이블 COL명
inner join
:연결된 두 table에서 같은 자료가 있는 것들만 join되어 추출
왼쪽 테이블의 COL명 = 오른쪽 테이블 COL명
일반적으로 가장 많이 사용하는 것은 inner join 입니다. 그리고 위에서 (+)라고 표현하는 형식으로 적어 주는 것은 오라클에서 outer join 을 표시할때 사용하는 SQL 구문형식입니다. 이는 물론 PostgreSQL 에서는 통하지 않는 것입니다.
아래 이승현님이 적은 SQL 구문은 오른쪽에 customer 라는 테이블이 있고, 좌측에 salesorder 라는 테이블이 있다고 가정할때 customer 에 있는 모든 자료와 좌측의 salesorder 에 있는 것은 customer 와 연관되는 자료들만 출력한 것입니다. 그러므로 left outer join 이라고 표현할 수 있겠지요. :/)
도움이 되셨길...
주로 inner join 을 많이 이용하지만 가끔은 outer join 을 사용할 일도 제법 있습니다. 그래서 개인적인 생각으로는 outer join 도 언젠가는 구문상에서 지원해야 한다고 생각합니다. :/)
>>fith 님께서 쓰시길<<
:: 흠....outer join 이 뭐하는 거고..
:: 어떻게 쓰는 건가요..?
::
:: >>이승현 님께서 쓰시길<<
::
:: :: SELECT name, order_id
:: :: FROM customer, salesorder
:: :: WHERE customer.customer_id = salesorder.customer_id
:: :: UNION ALL
:: :: SELECT name, NULL
:: :: FROM customer
:: :: WHERE customer.customer_id NOT IN (SELECT customer_id FROM salesorder)
:: ::
:: :: ORDER BY name;
:: ::
:: ::
|