티스토리 뷰

Theta inner join, Natural inner join, Left outer join, Left semi join, Anti join

 

 

cartesian 곱으로는 해결하기 어려운 연산을 간편하게 하기 위해서 만들어졌다.

 

1. Natural Join

select name, course_id
from student, takes
where student.ID = takes.ID;

복잡한 이걸 한방에 쓸 수 있다.

select name, course_id
from student natural join takes

그리고 natural join을 outer join과 구별하기 위해서 'inner join'이라고 부르기도 한다.

 

Inner join에는 3가지 종류가 있다.

 

  • Theta join
  • EQUI join
  • Natural join

 

2. outer join

한 쪽 테이블에만 정보가 있을 때, natural join을 하면 그 정보는 누락되게 된다.

(ex)아무 course도 듣지 않은 학생의 정보도 join을 통해서 보여주고 싶다면..)

 

이럴 때 쓰는게 outer join이다.

 

outer join에는 3종류가 있다.

  • left outer join : 왼쪽의 tuple만 저장
  • right outer join : 오른쪽의 tuple만 저장
  • full outer join : 둘 다 저장

 

 

 

 

[출처]

Database Systems Concepts 7th editoin

 

공지사항
최근에 올라온 글
최근에 달린 댓글
Total
Today
Yesterday
링크
«   2024/11   »
1 2
3 4 5 6 7 8 9
10 11 12 13 14 15 16
17 18 19 20 21 22 23
24 25 26 27 28 29 30
글 보관함