조인join

조인join (rev. 1.3)

조인 join 연산
기호 ⨝

관계대수relational_algebra 연산 중 하나?

내부조인 inner join

내부조인inner_join

외부조인 outer join

외부조인outer_join

left outer join
right outer join
full outer join

상호조인 cross join

상호조인 cross join

자체조인 self join

자체조인 self join

DB개론에서

조인속성join_attribute을 이용해, 두 릴레이션relation을 조합하여 하나의 결과 릴레이션을 구성.
join attribute란: 두 relation이 공통으로 가지고 있는 속성attribute.

binary operator: (relation, relation) ↦ relation


자연 조인 natural join ⨝N
가장 많이 사용되는 조인.
자연조인natural_join


세타 조인 theta join ⨝AθB
자연 조인보다 더 일반화된 조인.
표현
릴레이션1 ⨝AθB 릴레이션2
에서, AθB는 조인 조건으로, A는 릴레이션1의 속성attribute이고 B는 릴레이션2의 속성. θ는 비교연산자(>, ≥, <, ≤, =, ≠). 비교 연산이 가능하도록, A와 B는 같은 도메인domain으로 정의되어야 함.
θ 연산자가 =인 경우, 특별히 동일 조인(equi-join)이라 함.
세타조인theta_join

세미 조인과 외부 조인:
{
세미조인semijoin : ⋉ ⋊
조인 속성으로 프로젝트project릴레이션relation을 이용해 조인한다.
//aka semi-join semi_join
외부조인outer_join
결과 릴레이션에 조인 연산에서 제외되었던 모든 tuple을 포함시킨다.
left outer join ⟕
right outer join ⟖
full outer join ⟗
https://everything2.com/title/outer join
http://foldoc.org/outer join


inner_join (also sometimes called "equi-joins" or "natural joins")
https://everything2.com/title/inner join
http://foldoc.org/inner join

조인검색
{
조인검색 : 여러 개의 테이블table을 연결하여 데이터를 검색하는 것.
조인검색을 하려면 테이블을 연결해주는 속성attribute이 필요하고 이 속성을 조인속성이라 함.
조인속성의 이름은 (테이블마다?) 달라도 되지만 도메인domain은 반드시 같아야 함.
일반적으로 테이블의 관계를 나타내는 외래키foreign_key를 조인속성으로 이용한다고. (이유 tbw)
Ref. [https]DB개론: 여러 테이블에 대한 조인 검색
}




Up: 관계데이터연산relationship_data_operation > 관계대수relational_algebra 관계연산 관계연산자 relational operation // <- DB개론 보고 관계대수relational_algebra 작성시 만든것, 나중에 cleanup