Page 17 -
P. 17
그림 4-3 관련된 두 테이블에서 INNER JOIN과 OUTER JOIN을 수행한 결과
1번 테이블 2번 테이블
PKey ColA ColB PKey FKey ColX ColY
1 A q 90 1 55 ABC
2 B r 91 6 62 GHI
3 C s 92 3 77 PQR
4 D t 93 5 50 KLM
5 E u 94 2 32 STU
6 F v 95 3 84 DEF
96 6 48 XYZ
1번 테이블과 2번 테이블의 INNER JOIN
PKey ColA ColB PKey ColX ColY
1 A q 90 55 ABC
2 B r 94 32 STU
3 C s 92 77 PQR
3 C s 95 84 DEF
5 E u 93 50 KLM
6 F v 91 62 GHI
6 F v 96 48 XYZ
1번 테이블과 2번 테이블의 LEFT OUTER JOIN
PKey ColA ColB PKey ColX ColY
1 A q 90 55 ABC
2 B r 94 32 STU
3 C s 92 77 PQR
3 C s 95 84 DEF
4 D t Null Null Null
5 E u 93 50 KLM
6 F x 91 62 GHI
6 F x 96 48 XYZ
INNER JOIN을 한 결과는 두 테이블에서 일치하는 로우만 포함되었고, OUTER
JOIN을 한 결과는 1번 테이블의 모든 로우와 이와 일치하는 2번 테이블의 로
우가 포함되었다는 점에 주목하자. 2번 테이블의 값과 일치하지 않는 1번 테
이블의 로우는 2번 테이블의 컬럼에 널 값이 반환되었다.
Note NATURAL JOIN은 INNER JOIN과 비슷하지만, 두 테이블에서 이름이 동일한 컬
럼의 조인을 수행해 일치하는 로우만 반환하며 ON 절은 명시하지 않는다. MySQL, 오라클,
PostgreSQL에서만 NATURAL JOIN을 지원한다.
144
SQL 코딩의 기술(본문)최종.indd 144 2017-11-15 오후 11:27:56