중복이 없는 서로 다른 두 컬럼을 JOIN한다고 가정했을 때
- inner join : 교집합
- outer join : 합집합
두 개의 테이블이 있다고 가정
A | B |
---|---|
1 | 3 |
2 | 4 |
3 | 5 |
4 | 6 |
Inner join
1
2
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
1
2
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 |
Right outer join
1
2
select * from a RIGHT OUTER JOIN b on a.a = b.b;
select a.*,b.* from a,b where a.a(+) = b.b;
a | b |
---|---|
3 | 3 |
4 | 4 |
null | 5 |
null | 6 |
Full outer join
1
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 |
(참고)
공부한 내용을 여러글과 책 읽은 내용을 바탕으로 정리하고 있습니다.
좋은 글로 저의 공부에 도움을 주시는 분들께 감사드립니다.