조인join

Difference between r1.1 and the current

@@ -1,20 +1,186 @@
'''''curr at [[관계대수relational_algebra]]'''''
'''조인 join 연산''' 
기호
 
[[관계대수relational_algebra]] 연산 중 하나?
 
대충, [[테이블table]]/[[릴레이션relation]]이 여러 개 있을 때
여러 테이블에 흩어져 있는 정보 중에서
사용자가 필요한 정보만 가져와서 가상의 테이블처럼 만들어서 결과를 보여주는?
 
nested query를 single block query로 바꾸면, 거의 대부분 '''join 연산'''을 쓰게 된다.[* KU황인준 2022-03-28 50:40]
 
''이건 연산 두 개로 분해 가능?''
cartesian_product를 하고, [[실렉트select]]를 한 것.[* KU황인준]
> R⨝,,C,,S = σ,,C,,(R×S)
 
<<tableofcontents>>
 
''아래 분류 sections 여러곳을 참고하여서 체계적이지 않음, and 겹치는 것도 존재, 나중에 다시 tree 구조로 체계적으로 분류''

= 내부조인 inner join =
내부조인inner_join

https://everything2.com/title/inner+join
“also sometimes called "equi-joins" or "natural joins".”
ex. `SELECT * FROM a INNER JOIN b ON a.field=b.field`
= 외부조인 outer join =
외부조인outer_join

left outer join
left_outer_join
right outer join
right_outer_join
full outer join
full_outer_join

= cross join =
equijoin과 natural_join은, 다른 [[릴레이션relation]]에 matching하지 않는 [[튜플tuple]]들은 제외하는데,
'''outer join'''은...

= self join =
https://everything2.com/title/outer+join
ex. `SELECT * FROM a LEFT JOIN b ON a.field=b.field`
 
= 상호조인 cross join =
상호조인 cross join
 
''chk: 이게 일반적인 join?''
 
= 자체조인 self join = 
자체조인 self join
 
= cartesian product =
[[cartesian_product]]
 
결과의 [[차수degree]]는 (두 operand 테이블의 차수들)의 합,
결과의 [[카디널리티cardinality]]는 (두 operand 테이블의 카디널리티들)의 곱과 같다.
 
rel. [[VG:곱집합,product_set]]
 
= equi join =
= 만으로.
이것은 superfluous한 [[속성attribute]](s)를 남긴다. 그걸 제외한 것이 natural join. (황인준)
 
= non-equi join =
 
= 세타 조인 theta join =
equijoin이 =만으로...라면,
이것은 =,<,≤,>,≥,≠
여섯가지 ... (더 일반적?) - 정확히 rewrite. (황인준)
 
= 자연 조인 natural join ⨝,,N,, =
[[자연조인natural_join]]
 
equijoin에서 중복된 것을 삭제한?? chk
 
기호 *
equijoin 후 superfluous attribute(s)를 제거하는 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
 
[[https://terms.naver.com/entry.naver?docId=3431172&cid=58430&categoryId=58430&expCategoryId=58430 DB개론: 확장된 관계 대수 연산자]]
[[https://terms.naver.com/entry.naver?docId=3431173&cid=58430&categoryId=58430&expCategoryId=58430 DB개론: 세미 조인]]
[[https://terms.naver.com/entry.naver?docId=3431174&cid=58430&categoryId=58430&expCategoryId=58430 DB개론: 외부 조인]]
outer-join으로 표현
R ⨝^^+^^ S 로 표현
}
 
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://terms.naver.com/entry.naver?docId=3431203&cid=58430&categoryId=58430&expCategoryId=58430 DB개론: 여러 테이블에 대한 조인 검색]]
}
 
= Oracle 11g의 경우 - '예제로 배우는 ORACLE 11g' 위키북스에서 =
join - https://wikidocs.net/3956
 
cartesian product - https://wikidocs.net/3957
이건 [[VG:곱집합,product_set]]과 마찬가지 idea.
 
equi join - https://wikidocs.net/3958
두 테이블에 공통으로 존재하는 [[열column]]의 값이 일치되는 [[행row]]을 연결하여 결과를 생성하는.
 
non-equi join 비등가조인 - https://wikidocs.net/3959
동일 column 없이 다른 조건을 써서.
 
self join - https://wikidocs.net/3960
자기 자신과 조인.
 
outer join - https://wikidocs.net/3961
조인 조건을 만족하지 않는 [[행row]]도 나타내는.
조인 조건을 만족하지 못하였어도 해당 [[행row]]을 나타내고 싶을 때 outer join을 사용.

----
Ref. [[https://terms.naver.com/entry.naver?docId=3431169&cid=58430&categoryId=58430&expCategoryId=58430 DB개론: 조인]]
https://everything2.com/title/Join
[[HashKr:조인]]
 
[[WpKo:Join_(SQL)]] = https://ko.wikipedia.org/wiki/Join_(SQL)
[[WpEn:Join_(SQL)]] = https://en.wikipedia.org/wiki/Join_(SQL)
 
...
Google:조인+join

Up: [[database]] > [[관계대수relational_algebra]]
 
Up: [[관계데이터연산relationship_data_operation]] > [[관계대수relational_algebra]] 관계연산 관계연산자 relational operation // <- DB개론 보고 [[관계대수relational_algebra]] 작성시 만든것, 나중에 cleanup
 
----
Wikiadmin
[[조인,join]] page mk?
{
번역할만한 단어가 있나?? meet랑 같이... Ndict:"조인 미트" Ggl:"조인 미트"
 
[[Date(2024-03-13T12:56:34)]]
[[WpKo:격자_(순서론)]] 첫줄에선
[[조인,join]] [[미트,meet]]를
[[이음,join]] [[만남,meet]]으로 번역함.
 
MKL [[순서론,order_theory]] [[순서,order]] [[원소,element]] [[최대,maximum]] [[최소,minimum]] [[최대원]] [[최소원]] [[격자,lattice]] or [[래티스,lattice]]
 
"순서론 join meet"
Ggl:"순서론 join meet" Bing:"순서론 join meet" Naver:"순서론 join meet"
 
}
 
[[집합론,set_theory]]과 비교 tbw ... [[집합,set]] [[집합연산,set_operation]]
|| ||set operation ||
||inner join ||intersection ∩ ||
||outer join ||union ∪ ||



조인 join 연산
기호 ⨝

관계대수relational_algebra 연산 중 하나?

대충, 테이블table/릴레이션relation이 여러 개 있을 때
여러 테이블에 흩어져 있는 정보 중에서
사용자가 필요한 정보만 가져와서 가상의 테이블처럼 만들어서 결과를 보여주는?

nested query를 single block query로 바꾸면, 거의 대부분 join 연산을 쓰게 된다.[1]

이건 연산 두 개로 분해 가능?
cartesian_product를 하고, 실렉트select를 한 것.[2]
R⨝CS = σC(R×S)


아래 분류 sections 여러곳을 참고하여서 체계적이지 않음, and 겹치는 것도 존재, 나중에 다시 tree 구조로 체계적으로 분류

1. 내부조인 inner join

내부조인inner_join

https://everything2.com/title/inner join
“also sometimes called "equi-joins" or "natural joins".”
ex. SELECT * FROM a INNER JOIN b ON a.field=b.field

2. 외부조인 outer join

외부조인outer_join

left outer join
left_outer_join
right outer join
right_outer_join
full outer join
full_outer_join

equijoin과 natural_join은, 다른 릴레이션relation에 matching하지 않는 튜플tuple들은 제외하는데,
outer join은...

https://everything2.com/title/outer join
ex. SELECT * FROM a LEFT JOIN b ON a.field=b.field

3. 상호조인 cross join

상호조인 cross join

chk: 이게 일반적인 join?

4. 자체조인 self join

자체조인 self join

5. cartesian product


결과의 차수degree는 (두 operand 테이블의 차수들)의 합,
결과의 카디널리티cardinality는 (두 operand 테이블의 카디널리티들)의 곱과 같다.


6. equi join

= 만으로.
이것은 superfluous한 속성attribute(s)를 남긴다. 그걸 제외한 것이 natural join. (황인준)

7. non-equi join


8. 세타 조인 theta join

equijoin이 =만으로...라면,
이것은 =,<,≤,>,≥,≠
여섯가지 ... (더 일반적?) - 정확히 rewrite. (황인준)

9. 자연 조인 natural join ⨝N


equijoin에서 중복된 것을 삭제한?? chk

기호 *
equijoin 후 superfluous attribute(s)를 제거하는 join. (황인준)

10. 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개론: 여러 테이블에 대한 조인 검색
}

11. Oracle 11g의 경우 - '예제로 배우는 ORACLE 11g' 위키북스에서


cartesian product - https://wikidocs.net/3957
이건 VG:곱집합,product_set과 마찬가지 idea.

equi join - https://wikidocs.net/3958
두 테이블에 공통으로 존재하는 열column의 값이 일치되는 행row을 연결하여 결과를 생성하는.

non-equi join 비등가조인 - https://wikidocs.net/3959
동일 column 없이 다른 조건을 써서.

self join - https://wikidocs.net/3960
자기 자신과 조인.

outer join - https://wikidocs.net/3961
조인 조건을 만족하지 않는 행row도 나타내는.
조인 조건을 만족하지 못하였어도 해당 행row을 나타내고 싶을 때 outer join을 사용.






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


Wikiadmin
조인,join page mk?
{
번역할만한 단어가 있나?? meet랑 같이... Ndict:조인 미트 Ggl:조인 미트

2024-03-13
WpKo:격자_(순서론) 첫줄에선
조인,join 미트,meet
이음,join 만남,meet으로 번역함.



}

집합론,set_theory과 비교 tbw ... 집합,set 집합연산,set_operation
set operation
inner join intersection ∩
outer join union ∪
----
  • [1] KU황인준 2022-03-28 50:40
  • [2] KU황인준