sql 종류 - JOIN과 INNER JOIN의 차이점




outer left (7)

아니, 순수한 통사론 과 차이가 없다.

이 두 조인 모두 내게 동일한 결과를 줄 것입니다.

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

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

성과에 대한 진술과 그렇지 않은 것에 차이점이 있습니까?

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


이미 다른 답변들도 당신의 모범에 차이가 없다고 말합니다.

관련 문법은 여기문서화되어 있습니다.

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

모두 표시가 선택 사항입니다. 이 페이지는

INNER 모든 일치하는 행 쌍이 리턴 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;


JOIN 입력하면 기본적으로 INNER JOIN JOIN 수행됩니다.

다른 모든 것들을 위해, 한 장의 그림은 때때로 수백 가지 이상의 단어보다 가치가 있습니다.

Code Project 의 이미지 제공.


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

예, Microsoft Access 에서는 그냥 join 할 수 없습니다. inner join 이 필요합니다.


OUTER JOINs 과 마찬가지로 "OUTER" 라는 단어는 선택 사항입니다. JOIN"OUTER" JOIN 만드는 것은 LEFT 또는 RIGHT 키워드입니다.

그러나 어떤 이유에서 나는 항상 LEFT OUTER JOINLEFT OUTER JOIN 처럼 "OUTER" 를 사용하지만 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 :

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

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

또는

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

고르다 ...
테이블에서
[INNER] JOIN TableB

(즉, "INNER"키워드는 선택 사항입니다 - 검색 결과는 검색 결과의 유무와 동일합니다)


삭제할 테이블을 지정해야합니다. 여기에는 별칭이있는 버전이 있습니다.

DELETE w
FROM WorkRecord2 w
INNER JOIN Employee e
  ON EmployeeRun=EmployeeNo
WHERE Company = '1' AND Date = '2013-05-06'




sql sql-server join inner-join