program story

JOIN과 INNER JOIN의 차이점

inputbox 2020. 9. 28. 09:04
반응형

JOIN과 INNER JOIN의 차이점


이 두 조인 모두 동일한 결과를 제공합니다.

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

vs

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

성능 또는 기타 진술간에 차이가 있습니까?

다른 SQL 구현간에 차이가 있습니까?


기능적으로는 동일하지만 INNER JOIN특히 쿼리에 다른 조인 유형 (예 : LEFT또는 RIGHT또는 CROSS)이 포함 된 경우 읽기가 좀 더 명확 할 수 있습니다 .


아니요, 차이가 없습니다 . 순수한 구문 설탕 .


내부 조인 = 조인

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

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

또는

내부 조인의 경우 구문은 다음과 같습니다.

SELECT ...
from TableA
[INNER] JOIN TableB

(즉, "INNER"키워드는 선택 사항입니다 . 결과는 키워드의 유무에 관계없이 동일합니다.)


다른 SQL 구현간에 차이가 있습니까?

예, Microsoft Access 에서는 join. 그것은 필요합니다 inner 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

반응형