복붙노트

[SQL] INNER가, 왼쪽, 오른쪽 조인 및 FULL은 조인의 차이점은 무엇입니까? [복제]

SQL

INNER가, 왼쪽, 오른쪽 조인 및 FULL은 조인의 차이점은 무엇입니까? [복제]

가입 INNER의 차이는 무엇, LEFT은 가입, RIGHT 가입 및 FULL은 가입 MySQL은?

해결법

  1. ==============================

    1.강령 프로젝트에이 원래의 기사를 읽으면 많은 도움이 될 것입니다 : SQL의 시각적 표현을 결합합니다.

    강령 프로젝트에이 원래의 기사를 읽으면 많은 도움이 될 것입니다 : SQL의 시각적 표현을 결합합니다.

    또한이 게시물을 확인 : SQL 서버 - 성능 향상 - 왼쪽에있는 가입 또는 NOT?

    가입 및 외부의 MySQL에 가입 차이 :에서 원래 하나를 찾을 수 있습니다.

  2. ==============================

    2.INNER JOIN은 ON 절 공급을 기반으로 두 테이블 사이에 공통되는 모든 레코드를 가져옵니다.

    INNER JOIN은 ON 절 공급을 기반으로 두 테이블 사이에 공통되는 모든 레코드를 가져옵니다.

    LEFT JOIN은 왼쪽에서 모든 레코드를 연결하고 오른쪽 테이블에서 관련 기록을 얻을 수 있지만, 당신은 오른쪽 테이블에서 일부 열을 선택한 경우에는 관련 기록이없는 경우,이 열은 NULL이 포함됩니다.

    RIGHT 가입은 위와 같이하지만 오른쪽 테이블의 모든 레코드를 가져옵니다.

    FULL은 가입 관련 기록이 반대 테이블에 존재하지 않는 열 두 테이블과 풋 NULL에서 모든 레코드를 가져옵니다.

  3. ==============================

    3.SQL에서 사용할 수 조인의 다른 종류가 있습니다 :

    SQL에서 사용할 수 조인의 다른 종류가 있습니다 :

    INNER는 가입 : 반환 행을 두 테이블에서 일치가있을 때.

    왼쪽 가입 : 왼쪽 테이블에서 반환 모든 행 오른쪽 테이블과 일치하는 데이터가 존재하지 않는 경우에도 마찬가지입니다.

    RIGHT 가입 : 오른쪽 테이블에서 반환 모든 행, 왼쪽 테이블과 일치하는 데이터가 존재하지 않는 경우에도 마찬가지입니다.

    FULL은 가입 : 그것은 왼쪽과 오른쪽 외부 모두 조인의 결과를 결합합니다.

    조인 된 테이블은 두 테이블의 모든 레코드를 포함하고 양쪽에 일치하는 항목을 누락 NULL을 채 웁니다.

    SELF는 JOIN : 테이블이 일시적으로 SQL 문에 하나 이상의 테이블의 이름을 변경, 두 개의 테이블 인 것처럼 자체에 테이블을 조인하는 데 사용됩니다.

    가입 데카르트 : 반환 두 개 이상의 조인 된 테이블에서 레코드 세트의 직교 제품.

    우리는 각 처음 네는 세부 사항에 조인을 수행 할 수 있습니다

    우리는 다음과 같은 값을 가진 두 개의 테이블이있다.

    TableA의

    id  firstName                  lastName
    .......................................
    1   arun                        prasanth                 
    2   ann                         antony                   
    3   sruthy                      abc                      
    6   new                         abc                                           
    

    TableB의

    id2 age Place
    ................
    1   24  kerala
    2   24  usa
    3   25  ekm
    5   24  chennai
    

    ....................................................................

    INNER는 가입

    참고 : 그들이 TableA의와 TableB의에서 흔히있는 즉 열 두 테이블의 교차를 제공합니다

    통사론

    SELECT table1.column1, table2.column2...
      FROM table1
     INNER JOIN table2
        ON table1.common_field = table2.common_field;
    

    우리의 샘플 테이블에 적용 :

    SELECT TableA.firstName,TableA.lastName,TableB.age,TableB.Place
      FROM TableA
     INNER JOIN TableB
        ON TableA.id = TableB.id2;
    

    결과가 될 것인가

    firstName       lastName       age  Place
    ..............................................
    arun            prasanth        24  kerala
    ann             antony          24  usa
    sruthy          abc             25  ekm
    

    왼쪽 가입

    참고 : 표에서 선택된 모든 행을 줄 것이다 플러스 어떤 공통의 표에서 행을 선택했다.

    통사론

    SELECT table1.column1, table2.column2...
      FROM table1
      LEFT JOIN table2
        ON table1.common_field = table2.common_field;
    

    우리의 샘플 테이블에 적용 :

    SELECT TableA.firstName,TableA.lastName,TableB.age,TableB.Place
      FROM TableA
      LEFT JOIN TableB
        ON TableA.id = TableB.id2;
    

    결과

    firstName                   lastName                    age   Place
    ...............................................................................
    arun                        prasanth                    24    kerala
    ann                         antony                      24    usa
    sruthy                      abc                         25    ekm
    new                         abc                         NULL  NULL
    

    RIGHT 가입

    참고 : 표에서 선택된 모든 행을 줄 것이다 플러스 어떤 일반적인 타블로의 행을 선택했다.

    통사론

    SELECT table1.column1, table2.column2...
      FROM table1
     RIGHT JOIN table2
        ON table1.common_field = table2.common_field;
    

    우리의 샘플 테이블에 적용 :

    SELECT TableA.firstName,TableA.lastName,TableB.age,TableB.Place
      FROM TableA
     RIGHT JOIN TableB
        ON TableA.id = TableB.id2;
    

    결과

    firstName                   lastName                    age     Place
    ...............................................................................
    arun                        prasanth                    24     kerala
    ann                         antony                      24     usa
    sruthy                      abc                         25     ekm
    NULL                        NULL                        24     chennai
    

    FULL은 가입

    참고 : 두 테이블에서 선택된 모든 값을 반환합니다.

    통사론

    SELECT table1.column1, table2.column2...
      FROM table1
      FULL JOIN table2
        ON table1.common_field = table2.common_field;
    

    우리의 샘플 테이블에 적용 :

    SELECT TableA.firstName,TableA.lastName,TableB.age,TableB.Place
      FROM TableA
      FULL JOIN TableB
        ON TableA.id = TableB.id2;
    

    결과

    firstName                   lastName                    age    Place
    ...............................................................................
    arun                        prasanth                    24    kerala
    ann                         antony                      24    usa
    sruthy                      abc                         25    ekm
    new                         abc                         NULL  NULL
    NULL                        NULL                        24    chennai
    

    흥미로운 사실

    INNER 조인의 경우 순서는 중요하지 않습니다

    (LEFT, RIGHT 또는 FULL) OUTER 조인 순서의 문제에 대한

    에 대한 조인 순서를 당신에게 흥미있는 정보를 줄 것이다 더 나은이 링크를 확인 이동

  4. from https://stackoverflow.com/questions/5706437/whats-the-difference-between-inner-join-left-join-right-join-and-full-join by cc-by-sa and MIT license