본문 바로가기

oracle

[Oracle]LEFT OUTER JOIN

SELECT  //select 할 컬럼명
TEA.APPLCNT_NM,
TEA.REALM_CODE,
TER.REALM_NM
  FROM    TB_EMPMN_APPLCNT TEA  //별칭 지정 (별칭지정 안할시 컬럼명이 같기때문에 어떤 테이블의 컬럼인지 알수 없다)
       LEFT OUTER JOIN
          TB_EMPMN_REALM TER
       ON     TER.EMPMN_PBLANC_SN = TEA.EMPMN_PBLANC_SN // ON 두 table간의 같은 컬럼명 매칭
          AND TER.REALM_CODE = TEA.REALM_CODE
          AND TER.DELETE_AT = 'N'                       // 추가 조건
 WHERE TEA.EMPMN_PBLANC_SN = 21 AND TEA.APPLCNT_SN = 461; // 첫번째 테이블의 조건 추가


join 은 두 테이블간의 컬럼이 같은 튜플만 모아서 select 해주고,
예)
[A table]    [B table]                    [join]        
   aa          aa bb                     aa   bb  
  -----      ---------             =>  -----------
   aa          aa 13                     aa   13
   ab          22
   ac

left outer join 은 기준이 되는 왼쪽 table의 모든 data를 뿌려주며, 그중에서 다른 테이블과 컬럼명이 같은 내용만 추가한다.
예)
[A table]    [B table]                    [join]        
   aa          aa bb                     aa   bb  
  -----      ---------             =>  -----------
   aa          aa 13                     aa   13
   ab          22                        ab
   ac                                    ac

'oracle' 카테고리의 다른 글

[Oracle]테이블 백업  (0) 2013.09.27
[Oracle]HUGECLOB 데이터타입 읽어오기  (0) 2013.07.09
[Oracle]function 함수 만들기  (0) 2013.05.31
[Oracle](ibatis) MemoryCash 하지 않도록 설정  (0) 2013.05.31