MYSQL

*. 조인(JOIN)은 여러 테이블의 상호 연관관계를 연결하여 결과값을 가져올 때 사용합니다.


1. INNER JOIN

  *. INNER JOIN은 조인하는 테이블의 ON 절의 조건이 일치하는 결과만 출력됩니다.

  EX) SELECT * 

           FROM A_TABLE AS A 

     INNER JOIN B_TABLE AS B 

    ON A_TABLE.COL1 = B_TABLE.COL1;

--A_TABLE.COL1과 B_TABLE.COL1이 일치하는 데이터만 출력됩니다.


2. OUTER JOIN

  *. OUTER JOIN은 조인하는 테이블의 ON 절의 조건 중 한쪽의 데이터를 모두 가져옵니다.

     OUTER JOIN은 LEFT OUTER JOIN, RIGHT OUTER JOIN, FULL OUTER JOIN 이렇게 3가지가 있습니다.

     LEFT OUTER JOIN을 거의 대부분 사용하여, FULL OUTER JOIN은 성능상 거의 사용하지 않습니다.

  EX) SELECT *

           FROM A_TABLE AS A

           LEFT OUTER JOIN B_TABLE AS B    -- A_TABLE 기준

              ON A_TABLE.COL1 = B_TABLE.COL1

-- A_TABLE.COL1이 존재하지만 B_TABLE.COL1이 존재하지 않으면 B_TABLE.COL1은 NULL로 출력됩니다.

Posted by 준콩ol 준콩ol

댓글을 달아 주세요

  1. 조나단 2014.04.21 14:52  댓글주소  수정/삭제  댓글쓰기

    얼마전에 취직해서 어려움을 느끼고 있었는데
    블로그에 정보들을 알기쉽게 적어주셔서 감사합니다.
    여기서 보면서 공부하고 있내요
    좋은 정보 감사합니다

    • 준콩ol 준콩ol 2014.04.21 14:59 신고  댓글주소  수정/삭제

      제가 쓴 글이 많이 부족하실텐데 조금이나마 도움이 되신다니 다행이지만
      제 블로그 보다는 구글링이나 네이버를 추천드립니다.
      네이버는 일단 한글로 되어있으니 알아보기 편하고.
      네이버에서 찾기 힘든 자료는 구글에서 찾으면 무엇이든 다 있어요~

  2. 사쿠라민 2014.07.15 10:09  댓글주소  수정/삭제  댓글쓰기

    쉽고 자세한 설명 정말 감사합니다.
    많은 도움이 되었습니다.

  3. Iberis 2014.09.01 09:49  댓글주소  수정/삭제  댓글쓰기

    갑자기 mysql 쿼리 수정 업무가 생겨서 당황했는데,
    정리해주신 글 보고 처리했네요. ㅎㅎ
    감사합니다.

    출처 남기고 담아가도록 하겠습니다.

  4. blue 2014.09.30 17:13  댓글주소  수정/삭제  댓글쓰기

    -- A_TABLE.COL1이 존재안하지만 B_TABLE.COL1이 존재하면 B_TABLE.COL1은 NULL로 출력이 되나요??

    • 준콩ol 준콩ol 2014.10.01 09:16 신고  댓글주소  수정/삭제

      A_TABLE이 기준일 경우 INNER JOIN, LEFT OUTER JOIN 시 아무값도 안나옵니다.
      하지만 B_TABLE이 기준일 경우 LEFT JOIN일 경우에만 A_TABLE.COL1이 NULL로 출력됩니다.

  5. 초보 2017.08.09 10:09  댓글주소  수정/삭제  댓글쓰기

    내용이 좋아 퍼갑니다.! 출처 남기니 문제있으면 말씀부탁드립니다.