오래된 글이지만 join을 이해할 때 많은 도움이 되어서 링크를 올립니다.
http://blog.naver.com/tyboss/70008713640
(아래 정리한 내용은 아직 완성되지 않은 글입니다. 자료 보충도 필요합니다. 정확하게 공부하고 싶으시다면 위의 링크에서 보시거나 다른 글을 보는 것이 좋을 듯 합니다.)
JOIN이란 2개의 테이블의 데이터들을 하나의 테이블에 나타내는 것입니다.
1. FULL JOIN
각 테이블의 튜플들을 모두 매치시키는 JOIN입니다.
2. INNER JOIN
THETA JOIN에서 WHERE 문을 이용하여 조건을 제시했다면 INNER JOIN에서는 on test1.a = test2.b와 같이 조건을 지정할 수 있습니다.
3. LEFT OUTER JOIN
가장 많이 사용하는 JOIN 중 하나입니다.
JOIN할 때의 조건이 ON test1.a = test2.b 일 때, INNER JOIN 같은 경우에는 test1과 test2 테이블에서 서로 조건에 맞는 데이터들만 조인됩니다.
하지만 LEFT OUTER JOIN을 사용하면 기본적으로 모든 test1의 데이터들이 조인 테이블에 들어가고 거기에 조건에 매치되는 test2의 데이터들이 들어갑니다.
이 때 test2가 매치되는 데이터가 없다면 NULL로 표시됩니다.
JOIN문을 사용할 때 OUTER는 옵션이므로 명시하지 않아도 된다고 합니다.
4. RIGHT OUTER JOIN
LEFT OUTER JOIN의 반대라고 생각하시면 됩니다.
test2의 모든 데이터가 JOIN됩니다.
5. SELF JOIN
참고
'데이터베이스' 카테고리의 다른 글
[데이터베이스] FK의 사용 (0) | 2017.01.12 |
---|---|
우분투 16.04 msyql 설치 및 utf-8 설정 (0) | 2016.12.20 |
회복 다시 정리 (0) | 2016.11.29 |
트랜잭션과 회복 (0) | 2016.11.16 |