문제

차이점은 무엇입니까? LEFT JOIN 그리고 LEFT OUTER JOIN?

도움이 되었습니까?

해결책

문서에 따라 : (Transact-SQL)에서:

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

키워드 OUTER 옵션으로 표시 (사각형 괄호로 둘러싸여 있음)로 표시되며,이 경우 이것이 의미하는 바는 지정 여부가 차이가 없다는 것입니다. 조인 절의 다른 요소도 선택 사항으로 표시되지만 그들을 물론 차이를 만들 것입니다.

예를 들어, 전체 유형-파트 JOIN 절은 선택 사항이며,이 경우 기본값은 INNER 당신이 단지 지정하는 경우 JOIN. 다시 말해, 이것은 합법적입니다.

SELECT *
FROM A JOIN B ON A.X = B.Y

다음은 동등한 구문 목록입니다.

A LEFT JOIN B            A LEFT OUTER JOIN B
A RIGHT JOIN B           A RIGHT OUTER JOIN B
A FULL JOIN B            A FULL OUTER JOIN B
A INNER JOIN B           A JOIN B

또한이 다른 질문에 남은 답변을 살펴보십시오. SQL은 라인에서 여러 테이블을 결합 하시겠습니까?.

enter image description here

다른 팁

귀하의 질문에 답변합니다 왼쪽 조인과 왼쪽 외부 조인 사이에는 차이가 없습니다. 정확히 동일합니다. 그 말 ...

최상위 수준에는 주로 3 가지 유형의 조인이 있습니다.

  1. 안의
  2. 밖의
  3. 십자가

  1. 내부 조인 - 두 테이블에있는 경우 데이터를 가져옵니다.

  2. 외부 조인 그렇습니다 3 유형 :

    1. LEFT OUTER JOIN - 왼쪽 테이블에있는 경우 데이터를 가져옵니다.
    2. RIGHT OUTER JOIN - 오른쪽 테이블에있는 경우 데이터를 가져옵니다.
    3. FULL OUTER JOIN - 두 테이블 중 하나에있는 경우 데이터를 가져옵니다.
  3. 크로스 조인, 이름에서 알 수 있듯이 [n X m] 그것은 모든 것에 모든 것을 합류합니다.
    우리가 간단히 가입 할 테이블을 나열하는 시나리오와 유사합니다 ( FROM 조항 SELECT 명령문), 쉼표를 사용하여 분리합니다.


주목 할 사항 :

  • 당신이 방금 언급한다면 JOIN 그런 다음 기본적으로 a입니다 INNER JOIN.
  • an OUTER 가입은 있어야합니다 LEFT | RIGHT | FULL 당신은 단순히 말할 수 없습니다 OUTER JOIN.
  • 당신은 떨어 뜨릴 수 있습니다 OUTER 키워드와 그냥 말하십시오 LEFT JOIN 또는 RIGHT JOIN 또는 FULL JOIN.

더 나은 방법으로이를 시각화하려는 사람들은이 링크로 이동하십시오.SQL 조인에 대한 시각적 설명

왼쪽 조인과 왼쪽 외부 조인의 차이점은 무엇입니까?

아무것도 아님. LEFT JOIN 그리고 LEFT OUTER JOIN 동등합니다.

나는 외부 또는 외부 결합의 차이를 이해할 수있는 한 PostgreSQL DBA입니다. 차이는 인터넷에서 상당한 토론을하는 주제입니다. 오늘까지 나는이 둘 사이의 차이를 본 적이 없다. 그래서 나는 더 나아 갔고 그것들의 차이를 찾으려고 노력합니다. 결국 나는 그것에 대한 전체 문서를 읽었고 이것에 대한 답을 찾았습니다.

따라서 문서를 살펴보면 (적어도 PostgreSQL에서)이 문구를 찾을 수 있습니다.

"단어 INNER 그리고 OUTER 모든 형태의 선택 사항입니다. INNER 기본값입니다. LEFT, RIGHT, 그리고 FULL 외부 조인을 암시합니다. "

다른 말로,

LEFT JOIN 그리고 LEFT OUTER JOIN 동일합니다

RIGHT JOIN 그리고 RIGHT OUTER JOIN 동일합니다

여전히 답을 찾으려고 노력하는 사람들에게는 그것이 기여할 수 있기를 바랍니다.

Left Join 그리고 Left Outer Join 하나와 같은. 전자는 후자의 속기입니다. 에 대해서도 마찬가지입니다 Right Join 그리고 Right Outer Join 관계. 데모는 평등을 설명합니다. 각 쿼리의 작업 예가 제공되었습니다 SQL 바이올린. 이 도구를 사용하면 쿼리 조작을 손에 넣을 수 있습니다.

주어진

enter image description here

왼쪽 가입 그리고 왼쪽 외부 조인

enter image description here

결과

enter image description here


오른쪽 가입 그리고 오른쪽 외부 조인

enter image description here

결과

enter image description here

다음 순서로 조인을 생각하기가 더 쉽습니다.

  • 크로스 조인 - 두 테이블의 데카르트 제품. 모든 합류가 여기에서 시작됩니다
  • 내부 조인 - 필터가 추가 된 크로스 조인.
  • 외부 조인 - 누락 된 요소 (왼쪽 또는 오른쪽 테이블에서)와의 내부 조인이 이후에 추가되었습니다.

이 (비교적) 간단한 모델을 알아낼 때까지, 결합은 항상 조금 더 흑인 예술이었습니다. 이제 그들은 완벽하게 이해됩니다.

이것이 혼란보다 더 도움이되기를 바랍니다.

왼쪽/오른쪽 및 왼쪽 외부/오른쪽 외부는 동일합니까? 왜이 어휘를 설명해 봅시다. 왼쪽과 오른쪽 결합은 외부 조인의 특정 사례이므로 왼쪽/바깥 쪽 오른쪽 외에는 다른 것이 될 수 없습니다. 외부 조인도 호출됩니다 가득한 왼쪽과 오른쪽 결합이 아닌 외부 부분적 외부 조인의 결과. 물론:

Table A | Table B     Table A | Table B      Table A | Table B      Table A | Table B
   1    |   5            1    |   1             1    |   1             1    |   1
   2    |   1            2    |   2             2    |   2             2    |   2
   3    |   6            3    |  null           3    |  null           -    |   -
   4    |   2            4    |  null           4    |  null           -    |   -
                        null  |   5             -    |   -            null  |   5
                        null  |   6             -    |   -            null  |   6

                      OUTER JOIN (FULL)     LEFT OUTER (partial)   RIGHT OUTER (partial)

왜 해당 작업에 별명이 있는지, 내부, 외부, 교차의 3 가지 사례 만 분명하다는 것이 명확합니다. 외부에 대한 두 개의 서브 케이스가 있습니다. 어휘, 교사들이 이것을 설명하는 방식과 위의 답변은 종종 다양한 유형의 가입이있는 것처럼 보이게 만듭니다. 그러나 실제로는 매우 간단합니다.

귀하의 질문에 답변합니다

SQL Server에서 구문 조정 밖의 선택 사항입니다

MSDN 기사에 언급되어 있습니다. https://msdn.microsoft.com/en-us/library/ms177634(v=sql.130).aspx

따라서 다음 목록 표시는 동등한 구문에 가입합니다. 밖의

LEFT OUTER JOIN => LEFT JOIN
RIGHT OUTER JOIN => RIGHT JOIN
FULL OUTER JOIN => FULL JOIN

다른 동등한 구문

INNER JOIN => JOIN
CROSS JOIN => ,

Dotnet Mob Artice를 강력하게 추천합니다. SQL Server에서 조인합니다 enter image description here

주로 3 가지 유형의 조인이 있습니다

  1. 내부 : 두 테이블에 존재하는 데이터를 가져옵니다.
    • 가입 만 내부 조인을 의미합니다
  2. 외부 : 세 가지 유형입니다

    • 왼쪽 외부 - - 왼쪽 테이블 및 일치 조건에만 존재하는 데이터 가져 오기
    • 오른쪽 외부 - 오른쪽 테이블 및 일치 조건에만 존재하는 데이터를 가져옵니다.
    • 전체 외부 - - 데이터 가져 오기 일부 또는 두 테이블이 있습니다.
    • (왼쪽 또는 오른쪽 또는 가득) 외부 조인은 "외부"를 쓰지 않고 작성할 수 있습니다.
  3. 크로스 조인 : 모든 것과 합류합니다

3 개의 조인 만 있습니다.

  • a) 크로스 조인 = 직교 (예 : 표 A, 표 b)
  • b) 내부 조인 = 조인 (예 : 테이블 A 조인/내부 조인 테이블 b)
  • c) 외부 조인 :

       There are three type of outer join
       1)  Left Outer Join     = Left Join
       2)  Right Outer Join    = Right Join
       3)  Full Outer Join     = Full Join    
    

도움이되기를 바랍니다.

구문 설탕은 캐주얼 리더에게 조인이 내부가 아니라는 것을 더 분명하게 만듭니다.

이 질문의 맥락에서, 나는 2 '적용'연산자들도 게시하고 싶습니다.

가입:

  1. 내부 조인 = 가입

  2. 외부 조인

    • 왼쪽 외부 조인 = 왼쪽 조인

    • 오른쪽 외부 조인 = 오른쪽 조인

    • 전체 외부 조인 = 전체 조인

  3. 크로스 조인

자가 합의: 이것은 정확히 별도의 교사가 아닙니다. 이것은 기본적으로 위의 조인 중 하나를 사용하여 테이블 자체로 결합됩니다. 그러나 SQL 개발자 커뮤니티의 많은 사람들 로부터이 용어를들을 수 있기 때문에 맥락에 가입 토론에서 언급 할 가치가 있다고 생각했습니다.

적용하다:

  1. 크로스 적용 - 내부 조인과 유사합니다 (그러나 왼쪽 테이블의 각 행에 오른쪽 테이블에 무언가를 계산할 수 있다는 이점이 추가되었으며 일치하는 행만 반환합니다).
  2. 외부 적용 - 왼쪽 외부 조인과 유사합니다 (그러나 왼쪽 테이블의 각 행에 오른쪽 테이블에서 무언가를 계산할 수 있다는 이점이 추가되었으며 오른쪽 테이블의 일치에 관계없이 왼쪽 테이블에서 모든 행을 반환합니다).

https://www.mssqltips.com/sqlservertip/1958/sql-server-cross-apply-and-uter-apply/

https://sqlhints.com/2016/10/23/outer-apply-in-sql-server/

실생활 예, SQL에서 외부 / 크로스를 사용하는시기

적용 작업자는 하위 퀘스트에서 동일한 계산을 수행하는 것보다 더 나은 성능을 제공하기 때문에 매우 유익합니다. 또한 이전 버전의 SQL Server에서 많은 분석 기능을 대체합니다. 그렇기 때문에 조인에 편안한 후 한 SQL 개발자가 다음에 Apply Operator를 배우려고 노력해야한다고 생각합니다.

라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 StackOverflow
scroll top