오래된 글이지만 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





참고


http://rapapa.net/?p=311


'데이터베이스' 카테고리의 다른 글

[데이터베이스] FK의 사용  (0) 2017.01.12
우분투 16.04 msyql 설치 및 utf-8 설정  (0) 2016.12.20
회복 다시 정리  (0) 2016.11.29
트랜잭션과 회복  (0) 2016.11.16
블로그 이미지

NCookie

,