Difference between r1.3 and the current
@@ -3,22 +3,78 @@
[[관계대수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
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
left outer join
left_outer_join
right outer joinright_outer_join
full outer joinfull_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`
= 상호조인 cross join =
상호조인 cross join
''chk: 이게 일반적인 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. (황인준)
[[조인속성join_attribute]]을 이용해, 두 [[릴레이션relation]]을 조합하여 하나의 결과 릴레이션을 구성.
join attribute란: 두 relation이 공통으로 가지고 있는 [[속성attribute]].
@@ -72,12 +128,59 @@
Ref. [[https://terms.naver.com/entry.naver?docId=3431203&cid=58430&categoryId=58430&expCategoryId=58430 DB개론: 여러 테이블에 대한 조인 검색]]
}
----
Ref. [[https://terms.naver.com/entry.naver?docId=3431169&cid=58430&categoryId=58430&expCategoryId=58430 DB개론: 조인]]
https://everything2.com/title/Join
[[HashKr:조인]]
Up: [[database]] > [[관계대수relational_algebra]]
Up: [[관계데이터연산relationship_data_operation]] > [[관계대수relational_algebra]] 관계연산 관계연산자 relational operation // <- DB개론 보고 [[관계대수relational_algebra]] 작성시 만든것, 나중에 cleanup
}
= 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:조인+joinUp: [[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]
아래 분류 sections 여러곳을 참고하여서 체계적이지 않음, and 겹치는 것도 존재, 나중에 다시 tree 구조로 체계적으로 분류
1. 내부조인 inner join ¶
내부조인inner_join
https://everything2.com/title/inner join
“also sometimes called "equi-joins" or "natural joins".”
ex.
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
left_outer_join
right outer join
right_outer_join
full outer join
full_outer_join
9. 자연 조인 natural join ⨝N ¶
equijoin에서 중복된 것을 삭제한?? chk
기호 *
equijoin 후 superfluous attribute(s)를 제거하는 join. (황인준)
equijoin 후 superfluous attribute(s)를 제거하는 join. (황인준)
10. DB개론에서 ¶
조인속성join_attribute을 이용해, 두 릴레이션relation을 조합하여 하나의 결과 릴레이션을 구성.
join attribute란: 두 relation이 공통으로 가지고 있는 속성attribute.
join attribute란: 두 relation이 공통으로 가지고 있는 속성attribute.
binary operator: (relation, relation) ↦ relation
세타 조인 theta join ⨝AθB
θ 연산자가 =인 경우, 특별히 동일 조인(equi-join)이라 함.
세타조인theta_join
자연 조인보다 더 일반화된 조인.
표현릴레이션1 ⨝AθB 릴레이션2
에서, AθB는 조인 조건으로, A는 릴레이션1의 속성attribute이고 B는 릴레이션2의 속성. θ는 비교연산자(>, ≥, <, ≤, =, ≠). 비교 연산이 가능하도록, A와 B는 같은 도메인domain으로 정의되어야 함.θ 연산자가 =인 경우, 특별히 동일 조인(equi-join)이라 함.
세타조인theta_join
세미 조인과 외부 조인:
{
세미조인semijoin : ⋉ ⋊
외부조인outer_join
http://foldoc.org/outer join
{
세미조인semijoin : ⋉ ⋊
외부조인outer_join
결과 릴레이션에 조인 연산에서 제외되었던 모든 tuple을 포함시킨다.
left outer join ⟕
right outer join ⟖
full outer join ⟗
https://everything2.com/title/outer joinleft outer join ⟕
right outer join ⟖
full 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
https://everything2.com/title/inner join
http://foldoc.org/inner join
조인검색
{
조인검색 : 여러 개의 테이블table을 연결하여 데이터를 검색하는 것.
조인검색을 하려면 테이블을 연결해주는 속성attribute이 필요하고 이 속성을 조인속성이라 함.
조인속성의 이름은 (테이블마다?) 달라도 되지만 도메인domain은 반드시 같아야 함.
일반적으로 테이블의 관계를 나타내는 외래키foreign_key를 조인속성으로 이용한다고. (이유 tbw)
Ref. DB개론: 여러 테이블에 대한 조인 검색
}
{
조인검색 : 여러 개의 테이블table을 연결하여 데이터를 검색하는 것.
조인검색을 하려면 테이블을 연결해주는 속성attribute이 필요하고 이 속성을 조인속성이라 함.
조인속성의 이름은 (테이블마다?) 달라도 되지만 도메인domain은 반드시 같아야 함.
일반적으로 테이블의 관계를 나타내는 외래키foreign_key를 조인속성으로 이용한다고. (이유 tbw)
Ref. DB개론: 여러 테이블에 대한 조인 검색
}
11. Oracle 11g의 경우 - '예제로 배우는 ORACLE 11g' 위키북스에서 ¶
join - https://wikidocs.net/3956
outer join - https://wikidocs.net/3961
조인 조건을 만족하지 않는 행row도 나타내는.
조인 조건을 만족하지 못하였어도 해당 행row을 나타내고 싶을 때 outer join을 사용.
조인 조건을 만족하지 않는 행row도 나타내는.
조인 조건을 만족하지 못하였어도 해당 행row을 나타내고 싶을 때 outer join을 사용.
Join_(SQL) = https://ko.wikipedia.org/wiki/Join_(SQL)
Join_(SQL) = https://en.wikipedia.org/wiki/Join_(SQL)
Join_(SQL) = https://en.wikipedia.org/wiki/Join_(SQL)
Up: 관계데이터연산relationship_data_operation > 관계대수relational_algebra 관계연산 관계연산자 relational operation // <- DB개론 보고 관계대수relational_algebra 작성시 만든것, 나중에 cleanup
}
집합론,set_theory과 비교 tbw ... 집합,set 집합연산,set_operation
set operation | |
inner join | intersection ∩ |
outer join | union ∪ |