ABOUT ME

-

Today
-
Yesterday
-
Total
-
  • inner join vs outer join
    Database/Basics 2019. 4. 6. 14:31


    ■조인(join)

    - 2개 이상의 테이블들을 공통된 조건으로 데이터를 합쳐 표현!

    - inner join과 outer join이 있다




    ■inner join

    - 두 테이블간의 조인 조건을 만족하는 row'만' 리턴 

    - 예제 1)

    select m.mem_no,o.order_no,p.prd_no

    from member m,order o,product p

    where 1=1

    and m.mem_no=o.mem_no

    and o.prd_no=p.prd_no

    and m.mem_no like '1%'

    - 예제 2)

    select m.mem_no,o.order_no,p.prd_no

    from member m

    join order o

    on m.mem_no=o.mem_no

    join product p

    on o.prd_no=p.prd_no

    where 1=1

    and m.mem_no like '1%'



    ■outer join

    - 두 테이블간의 조인 조건을 만족하지 않는 row는 'null로 채워' 리턴

    (주로 조인 조건을 만족하지 못하는 row들을 보기 위해 사용)

    - 예제 1)

    select m.mem_no,o.order_no,p.prd_no

    from member m,order o,product p

    where 1=1

    and m.mem_no=o.mem_no(+)

    and o.prd_no=p.prd_no(+)

    and m.mem_no like '1%'

    (데이터가 없을 수도 있는 쪽 join 컬럼에 (+)를 추가)

    - 예제 2)

    select m.mem_no,o.order_no,p.prd_no

    from member m

    left outer join order o

    on m.mem_no=o.mem_no

    left outer join product p

    on o.prd_no=p.prd_no

    where 1=1

    and m.mem_no like '1%'

    (left outer join의 경우 조인문 왼쪽에 있는 테이블의 모든 결과를 가져온 후, 

    오른쪽 테이블의 데이터를 매칭. 없는경우 null로 채움!)

    (right outer join은 left outer join의 반대)

    (full (two-way) outer join은 양쪽 다 outer join을 거는 경우. 잘 사용 안함)




    http://goddaehee.tistory.com/62

    'Database > Basics' 카테고리의 다른 글

    트랜잭션  (0) 2019.04.06

    댓글

Designed by Tistory.