설명을 제대로 못하는 지식은 내가 제대로 이해하지 못했거나 모르는 지식이다.
1. INNER JOIN
- 두 테이블간의 조인 조건을 만족하는 ROW만 리턴
- 일반적인 조인 으로 이해하면 됨
- 아래 코딩 내용을 보게 되면 이해가 쉽게 될 것 같다.
FOR ( record1 IN TABLE1) { // 드라이빙 테이블 (join을 주도하는 테이블)
FOR (reocrd2 IN TABLE2) { // 드리븐 테이블 (join에서 끌려가는 테이블)
IF ( record1.join_column == record2.join_column) {
join_record_found(record1.*, record2.*);
} else {
join_record_notfound( ); //outer join과 달리 만약에 매칭되는게 없다면 더이상 찾지 않는다
}
}
}
2. OUTER JOIN
- LEFT/RIGHT/FULL 형태의 OUTER JOIN 이 있음
- LEFT OUTER JOIN의 경우 조인문 왼쪽에 있는 테이블의 모든 결과를 가져온 후 오른쪽 테이블의 데이터를 매칭하며, 매칭되는 데이터가 없는 경우 NULL 매칭
- RIGHT OUTER JOIN은 LEFT 조인의 반대 - FULL OUTER JOIN은 일반적으로 사용할 일이 없으며, DB에 따라 지원하지 않음
FOR (record1 IN TABLE1) {
FOr (record2 IN TABLE2) {
IF ( record1.join_column == record2.join_column) {
join_record_found(record1.*, record2.*);
} else {
join_record_found(record1.*, NULL);// Inner Join과 다른 부분. 매칭이 안된다고 하더라도 드라이빙 테이블 데이터(매칭안된 데이터) 와 null로 같이 매칭
}
}
}
출처: http://dimdim.tistory.com/entry/SQL-JOIN-정리-Inner-Join-Outer-Join [딤딤이의 블로그]
출처 : Real Maria DB [위키북스]
반응형
'Oracle > Architecture' 카테고리의 다른 글
[Oracle] ORACLE 11g grid 리소스 설명 [출처] ORACLE 11g grid 리소스 설명 (0) | 2015.10.30 |
---|---|
[Oracle] TAF 와 CTF 개념 (0) | 2015.10.13 |