source

JOIN과 INSER JOIN의 차이점

lovecheck 2023. 4. 17. 21:57
반응형

JOIN과 INSER JOIN의 차이점

이 두 결합을 통해 동일한 결과를 얻을 수 있습니다.

SELECT * FROM table JOIN otherTable ON table.ID = otherTable.FK

SELECT * FROM table INNER JOIN otherTable ON table.ID = otherTable.FK

퍼포먼스나 그 외의 내용에 차이가 있습니까?

SQL 구현마다 차이가 있습니까?

기능적으로는 동등하지만INNER JOIN특히 쿼리에 다른 조인 타입이 있는 경우(즉, 보다 명확하게 읽을 수 있습니다).LEFT또는RIGHT또는CROSS)가 포함되어 있습니다.

아니요, 차이는 없어요. 순수 통사설탕이에요.

내부 결합 = 결합

  • 단어 JOIN을 사용할 때 유형을 지정하지 않으면 INSER JOIN이 기본값입니다.

    LEFT OUTER JOIN 또는 RIGHT OUTER JOIN을 사용할 수도 있습니다. 이 경우 OUTER라는 단어는 옵션이거나 CROSS JOIN을 지정할 수 있습니다.

또는

  • INSER JOIN 의 구문은 다음과 같습니다.

    SELECT ...
    FROM TableA
    [INNER] JOIN TableB
    

    (즉, INSER 키워드는 옵션입니다.이 키워드를 사용하든 사용하지 않든 결과는 동일합니다).

SQL 구현마다 차이가 있습니까?

네, Microsoft Access에서는join.가 필요합니다.

와 마찬가지로OUTER JOINs, 그 단어"OUTER"는 옵션입니다.바로 그LEFT또는RIGHT를 만드는 키워드JOIN한 사람"OUTER" JOIN.

하지만 어떤 이유에서인지 나는 항상 그것을 사용한다."OUTER"에서와 같이LEFT OUTER JOIN그리고 절대LEFT JOIN단, 나는 절대 사용하지 않는다.INNER JOIN, 하지만 나는 오히려"JOIN":

SELECT ColA, ColB, ...
FROM MyTable AS T1
     JOIN MyOtherTable AS T2
         ON T2.ID = T1.ID
     LEFT OUTER JOIN MyOptionalTable AS T3
         ON T3.ID = T1.ID

다른 답변은 이미 기술되어 있기 때문에 예시와 차이가 없습니다.

관련 문법은 여기에 기재되어 있습니다.

<join_type> ::= 
    [ { INNER | { { LEFT | RIGHT | FULL } [ OUTER ] } } [ <join_hint> ] ]
    JOIN

모두 옵션임을 나타냅니다.이 페이지에서 보다 명확하게 할 수 있습니다.

INNER일치하는 모든 행 쌍을 반환하도록 지정합니다.양쪽 테이블에서 일치하지 않는 행을 삭제합니다.조인 유형을 지정하지 않은 경우 기본값이 됩니다.

문법은 또한 하나의 시간이 있다는 것을 나타냅니다.INNER 필수입니다.조인 힌트를 지정하는 경우.

아래의 예를 참조해 주세요.

CREATE TABLE T1(X INT);
CREATE TABLE T2(Y INT);

SELECT *
FROM   T1
       LOOP JOIN T2
         ON X = Y;

SELECT *
FROM   T1
       INNER LOOP JOIN T2
         ON X = Y;

여기에 이미지 설명 입력

언급URL : https://stackoverflow.com/questions/565620/difference-between-join-and-inner-join

반응형