Contents

Database
2019.11.22 04:30

SQL JOIN 정리 (Inner Join & Outer Join)

조회 수 1826 댓글 0
Atachment
첨부 '1'
?

단축키

Prev이전 문서

Next다음 문서

크게 작게 위로 아래로 댓글로 가기 인쇄
?

단축키

Prev이전 문서

Next다음 문서

크게 작게 위로 아래로 댓글로 가기 인쇄

sqljoin724.png


1. INNER JOIN
  - 두 테이블간의 조인 조건을 만족하는 ROW만 리턴함... (교집합 이라고 하기엔 좀 애매하지만 일단 그렇게 이해하는게 쉽다.)

 

2. OUTER JOIN
  - LEFT/RIGHT/FULL 형태의 OUTER JOIN 이 있음
  - LEFT OUTER JOIN의 경우 조인문 왼쪽에 있는 테이블의 모든 결과를 가져온 후 오른쪽 테이블의 데이터를 매칭하며, 매칭되는 데이터가 없는 경우 NULL 매칭
  - RIGHT OUTER JOIN은 LEFT 조인의 반대  - FULL OUTER JOIN은 일반적으로 사용할 일이 없으며, DB에 따라 지원하지 않음??? 간단히 설명하자면 두 테이블의 합집합이라고 이해하면 될 듯...


3. 주의 사항
  - 일반적으로 조인은 1:1 혹은 N:1 의 관계를 갖는 경우 유용한 것 같음... 1:N 관계에서 조인문을 사용하는 경우 기준이 되는 테이블의 데이터가 중복되는 결과를 리턴함. 따라서 1:N 관계에서 조인문을 통해 N에 해당하는 테이블의 컬럼을 이용해 제한조건을 사용하는 경우 distinct 혹은 group by 를 사용하여 1에 해당 하는 테이블의 데이터가 중복되지 않도록 해야 한다.  (에궁... 먼가 명확하지 않은 설명 ㅠ.ㅠ)
 

4. 예제 

두 개의 테이블이 있다고 가정. 컬럼은 1개이고, 데이터는 아래와 같다.

A    B
-    -
1    3
2    4
3    5
4    6

(1, 2)는 A에만 있고, (3, 4)는 A와 B 모두에 있으며, (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


Right outer join

라이트 아우터 조인, Right outer join을 하면 B의 모든 열 더하기 A에 있는 공통부분을 얻게 된다.

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

풀 아우터 조인, Full outer join을 하면 A와 B의 합집합을 얻게 된다. 

B에는 있는데 A에 없는 (5, 6)은 A에서는 해당 부분이 null 이 되고,

A에는 있는데 B에 없는 (1, 2)는 B에서는 해당 부분이 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





?

List of Articles
번호 분류 제목 글쓴이 날짜 조회 수
1149 Etc 영어의 12 시제 (The twelve tenses of English) hooni 2013.07.12 15699
1148 Etc 영어공부에 도움될만한 사이트 모음 hooni 2013.05.14 22628
1147 Etc 영어. 외우면 도움되는 필수영어회화 표현 file hooni 2013.09.09 20923
1146 Etc 영어. 불규칙 동사 정리 file hooni 2017.10.04 3480
1145 Etc 영어. 반드시 외워야 할 영어 숙어 2 file hooni 2016.07.07 6313
1144 Etc 영어. 반드시 외워야 할 문장 패턴 100개 file hooni 2023.06.08 903
1143 Etc 영어. 반드시 외워야 할 단어 file hooni 2016.07.07 1949
1142 Etc 영어 아주 쉬운 영작문 강의 01~60 secret hooni 2013.06.25 0
1141 Etc 영어 관련 토렌트 secret hooni 2013.06.25 0
1140 Etc 여러 대학 및 권위있는 기관 강좌 모음 ㅋㅋ hooni 2013.06.17 15115
1139 Etc 여기저기서 모은 VoIP(인터넷전화) 자료들~ file hooni 2013.04.23 15966
1138 Etc 엑셀 함수 총 정리 ㅎㅎ file hooni 2013.06.05 24458
Board Pagination Prev 1 2 3 4 5 6 7 8 9 10 ... 98 Next
/ 98