2016년 2월 16일 화요일

[SQL 교육] Join

[SQL 교육] Join

(*본 게시물은 본인이 교육을 통해서 배우는 내용을 정리하는 글입니다. 부족한 부분이 많으니 참고해주시기 바랍니다. 혹시 정확한 의미를 알고 싶으시거나, 틀린 내용에 대해 조언해주시고 싶은 분들께서는 댓글을 남겨주시면 최대한 빠르게 답변하겠습니다. 감사합니다.)
※ Oracle DB를 사용합니다.

1. Join

  1. Oracle에서 join 방법은 2가지 이다. (2가지 표준을 따른다.)
    1. ANSI join(9i 버전 이상)
    2. Oracle join(6, 7, 8 i 버전)
  2. 구문
    1. select a.열이름, b.열이름
      from 테이블A a, 테이블B b
      where a.외래키열 = b.주키열
    2. select a.열이름, b.열이름
    3. from 테이블A a
    4. join 테이블B b
    5. on a.외래키열 = b.주키열
  3. Oracle join
    1. Catasian Product
      1. where절에 조인 조건이 없는 조인을 말한다.
      2. 조인 조건이 없거나 잘못 주었을 경우 발생.
    2. Equi join
      1. 등호(=) 연산자로 조인 조건을 기술하는 조인
    3. Self join
      1. 동일 table에서 join
      2. 서로 다른 table에서의 조인으로 가정(논리적으로 서로 다른 table)
    4. Outer join
      1. 한 쪽에 값이 없거나 null일 때 사용하는 join
      2. left outer join
        1. 왼쪽 값이 없거나 null일 가능성이 있을 때 사용한다.
        2. 오른쪽 값에 (+) 표시를 한다.
      3. right outer
        1. 오른쪽 값이 없거나 null일 가능성이 있을 때 사용한다.
        2. 왼쪽 값에 (+) 표시를 한다.
  4. ANSI join
    1. join ~on
    2. join using
    3. natural join
    4. {left|right|full} [outer] join
      1. 값이 없거나 null인 쪽의 방향을 선택한다.
    5. cross join
      1. catasian product
  5. 관계
    1. 실선
      1. 한 테이블이 다른 테이블의 주키(PK)열을 참조 할 때는 실선으로 표시한다.
    2. 점선
      1. 한 테이블이 다른 테이블의 PK가 아닌 열을 찬조 할 때는 점선으로 표시한다.
    3. 다중도
      1. 1을 의미
      2. 0부터 1을 의미
      3. 1부터 여러 개를 의미
      4. 0부터 여러 개를 의미

댓글 없음:

댓글 쓰기