반응형
중복 없는 열(column)들을 Join한다고 가정했을 때, 가장 일반적인 경우입니다:
A와 B를 Innter-Join하면 A와 B의 교집합을 얻을 수 있습니다.
A와 B를 Outer-Join하면 A와 B의 합집합을 얻을 수 있습니다.
Examples
각각 단 하나의 열만 있는 두 개의 테이블이 있고, 데이터가 다음과 같다고 가정합니다:
A B - - 1 3 2 4 3 5 4 6
(1, 2)는 A에만 있고, (3, 4)는 같이 있으며, (5, 6)은 B만 갖고 있습니다.
Inner join
다음 쿼리로 Inner-Join해서 두 테이블의 교집합을 얻습니다.
select * from a INNER JOIN b on a.a = b.b; select a.*, b.* from a, b where a.a = b.b; a | b --+-- 3 | 3 4 | 4
Left outer join
Left-Outer-Join은 A에 있는 모든 행과 B에 함께 있는 행을 얻습니다.
select * from a LEFT OUTER JOIN b on a.a = b.b; select a.*, b.* from a, b where a.a = b.b(+); a | b --+----- 1 | null 2 | null 3 | 3 4 | 4
Full outer join
Full-Outer-Join은 A와 B의 합집합을 얻습니다. 만약 어떤 행의 A에는 데이터가 있고 B에는 비어있는 경우 B 부분은 null이며, 반대의 경우에는 A 부분이 null입니다.
select * from a FULL OUTER JOIN b on a.a = b.b; a | b -----+----- 1 | null 2 | null 3 | 3 4 | 4 null | 6 null | 5
반응형