[SQL 교육] Join
(*본 게시물은 본인이 교육을 통해서 배우는 내용을 정리하는 글입니다. 부족한 부분이 많으니 참고해주시기 바랍니다. 혹시 정확한 의미를 알고 싶으시거나, 틀린 내용에 대해 조언해주시고 싶은 분들께서는 댓글을 남겨주시면 최대한 빠르게 답변하겠습니다. 감사합니다.)※ Oracle DB를 사용합니다.
1. Join
- Oracle에서 join 방법은 2가지 이다. (2가지 표준을 따른다.)
- ANSI join(9i 버전 이상)
- Oracle join(6, 7, 8 i 버전)
- 구문
- select a.열이름, b.열이름
from 테이블A a, 테이블B b
where a.외래키열 = b.주키열 - select a.열이름, b.열이름
- from 테이블A a
- join 테이블B b
- on a.외래키열 = b.주키열
- select a.열이름, b.열이름
- Oracle join
- Catasian Product
- where절에 조인 조건이 없는 조인을 말한다.
- 조인 조건이 없거나 잘못 주었을 경우 발생.
- Equi join
- 등호(=) 연산자로 조인 조건을 기술하는 조인
- Self join
- 동일 table에서 join
- 서로 다른 table에서의 조인으로 가정(논리적으로 서로 다른 table)
- Outer join
- 한 쪽에 값이 없거나 null일 때 사용하는 join
- left outer join
- 왼쪽 값이 없거나 null일 가능성이 있을 때 사용한다.
- 오른쪽 값에 (+) 표시를 한다.
- right outer
- 오른쪽 값이 없거나 null일 가능성이 있을 때 사용한다.
- 왼쪽 값에 (+) 표시를 한다.
- Catasian Product
- ANSI join
- join ~on
- join using
- natural join
- {left|right|full} [outer] join
- 값이 없거나 null인 쪽의 방향을 선택한다.
- cross join
- catasian product
- 관계
- 실선
- 한 테이블이 다른 테이블의 주키(PK)열을 참조 할 때는 실선으로 표시한다.
- 점선
- 한 테이블이 다른 테이블의 PK가 아닌 열을 찬조 할 때는 점선으로 표시한다.
- 다중도
- 1을 의미
- 0부터 1을 의미
- 1부터 여러 개를 의미
- 0부터 여러 개를 의미
- 1을 의미
- 실선
댓글 없음:
댓글 쓰기