ABOUT ME

-

Today
-
Yesterday
-
Total
-
  • INNER JOIN, OUTER JOIN [MySQL]
    Database/MySQL 2017. 9. 14. 11:43
    반응형


    01. INNER JOIN


    - 두 테이블간의 조인 조건을 만족하는 row를 리턴

    ex) {1,2,3,4}, {1,2} 를 INNER JOIN 을 하게 되면

    결과값 : {1,2}가 나온다는 교집합(?)적인 JOIN 형태





    TEST1이라는 테이블에 세개의 row가 있고

    TEST2에는 2개의 로우가 있다. 이것은 INNER JOIN을 하게 되면



    SELECT    TEST1.id

    , TEST1.beforeValue

    , TEST2.afterValue

    FROM    TEST1 INNER JOIN TEST2 ON TEST1.id = TEST2.id




    라는 결과가 나옵니다.





    02. OUTER JOIN


    - LEFT JOIN

    - RIGHT JOIN 

    - FULL OUTER JOIN

    세가지의 방식이 있습니다.

    JOIN 이전에 나오는 테이블이 LEFT 테이블이 되고
    JOIN 이후에 나오는 테이블이 RIGHT 테이블이 됩니다. 


    02-1. LEFT OUTER JOIN -> JOIN 이전에 나오는 테이블을 기준


    SELECT    TEST1.id

    , TEST1.beforeValue

    , TEST2.afterValue

    FROM    TEST1 LEFT OUTER JOIN TEST2 ON TEST1.id = TEST2.id





    02-2. RIGHT JOIN OUTER JOIN -> JOIN 이후에 나오는 테이블 기준


    SELECT    TEST1.id

    , TEST1.beforeValue

    , TEST2.afterValue

    FROM    TEST1 RIGHT OUTER JOIN TEST2 ON TEST1.id = TEST2.id






    03-2. FULL OUTER JOIN -> JOIN 하는 테이블 모두를 표시해줄때


    - 거의 사용하지도 않고 union이라는것을 사용하기 때문에 다음에 따로 다루도록 하겠습니다.

    반응형

    'Database > MySQL' 카테고리의 다른 글

    순위(랭킹) 구하기 [MySql]  (0) 2017.11.17
    DATEDIFF(), TIMESTAMPDIFF() 사용하기 [Mysql]  (0) 2017.09.25
    STR_TO_DATE() 사용하기 [Mysql]  (0) 2017.09.18
    <, > 등 [Mysql]  (0) 2017.09.07
    [MySQL] DATE_FORMAT()  (0) 2017.04.18

    댓글

Designed by Tistory.