programing

SQL Server에서의 왼쪽 조인과 왼쪽 외부 조인의 비교

megabox 2023. 4. 19. 22:54
반응형

SQL Server에서의 왼쪽 조인과 왼쪽 외부 조인의 비교

LEFT JOIN ★★★★★★★★★★★★★★★★★」LEFT OUTER JOIN

매뉴얼에 따라 FROM (Transact-SQL) :

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

" " "OUTER는 옵션으로 표시됩니다(대괄호 안에 포함). 「」를 해도,OUTER차이가 없든 없든요join 절의 다른 요소도 옵션으로 표시되지만 생략하면 차이가 발생한다는 점에 유의하십시오.

를 들어, 「」의, 「」는, 「」를 참조해 주세요.JOIN이은 "Default는 "Default는 "Default" 입니다.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

다른 SO 질문에 대한 답변도 살펴보세요.SQL left join vs FROM 라인의 여러 테이블?

LEFT AUTER JOIN과 LEFT AUTER JOIN의 차이는 없습니다.이것들은 정확히 같은 것입니다.

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

  1. 내부
  2. 외부
  3. 건너다

  1. INSER JOIN - 두 테이블에 모두 있는 경우 데이터를 가져옵니다.

  2. OUTER JOIN에는 3가지 유형이 있습니다.

    1. LEFT OUTER JOIN 왼쪽 경우 - 왼쪽 테이블에 있는 경우 데이터를 가져옵니다.
    2. RIGHT OUTER JOIN 오른쪽 경우 - 오른쪽 테이블에 있는 경우 데이터를 가져옵니다.
    3. FULL OUTER JOIN 두 중 경우 를 가져옵니다 두 테이블 중 하나에 있으면 데이터를 가져옵니다.
  3. 크로스 조인(CROSS JOIN)은 이름에서 알 수 있듯이[n X m]모든 것을 모든 것에 결합하는 것입니다.
    을 나열하는 합니다(「가입하다」의 경우).FROMSELECT이치노


주의사항:

  • JOIN로는 「」입니다.INNER JOIN.
  • OUTER가입해야 합니다.LEFT|RIGHT|FULL 말할 수 OUTER JOIN.
  • 할 수 .OUTER를 붙여서 '키워드로 하다'라고 하면 돼요.LEFT JOIN ★★★★★★★★★★★★★★★★★」RIGHT JOIN ★★★★★★★★★★★★★★★★★」FULL JOIN.

보다 나은 방법으로 시각화하고 싶은 경우는, 다음의 링크를 참조해 주세요.SQL Join의 시각적 설명

왼쪽 조인과 왼쪽 아우터 조인의 차이점은 무엇입니까?

아무것도 없어요. LEFT JOIN ★★★★★★★★★★★★★★★★★」LEFT OUTER JOIN등합니니다다

Left Join ★★★★★★★★★★★★★★★★★」Left Outer Join하나이고 똑같다.전자는 후자의 줄임말이다.에 대해서도 같은 말을 할 수 있습니다.Right Join ★★★★★★★★★★★★★★★★★」Right Outer Join관계.그 시연은 평등함을 보여줄 것이다.각 쿼리의 작업 예는 SQL Fielen을 통해 제공됩니다.이 도구를 사용하면 쿼리를 직접 조작할 수 있습니다.

정해진

여기에 이미지 설명 입력

왼쪽 결합 및 왼쪽 외부 결합

여기에 이미지 설명 입력

결과.

여기에 이미지 설명 입력


오른쪽 결합 및 오른쪽 외부 결합

여기에 이미지 설명 입력

결과.

여기에 이미지 설명 입력

나는 우체국이다SQL DBA는 외부 조인과 그렇지 않은 조인의 차이점을 이해할 수 있는 한 인터넷에서 상당한 논의가 이루어지고 있는 주제입니다.지금까지 나는 그 둘의 차이를 본 적이 없다.그래서 나는 더 나아가서 그 차이를 찾으려고 한다.마지막에 나는 그것에 대한 모든 문서를 읽었고 이에 대한 답을 찾았다.

(적어도 Postgre에서는) 문서를 참조해 주십시오.SQL) 다음 문구를 찾을 수 있습니다.

"그 말들은INNER ★★★★★★★★★★★★★★★★★」OUTER는 모든 형식에서 선택 사항입니다. INNER is is is is 。LEFT,RIGHT , , , , 입니다.FULL이렇게 하다''

다른 말로 하자면

LEFT JOIN ★★★★★★★★★★★★★★★★★」LEFT OUTER JOIN ★★

RIGHT JOIN ★★★★★★★★★★★★★★★★★」RIGHT OUTER JOIN ★★

아직도 답을 찾으려는 분들에게 도움이 되었으면 좋겠습니다.

Joins를 다음 순서로 생각하면 더 쉬울 것 같습니다.

  • CROSS JOIN - 두 테이블의 데카르트 곱.모든 조인 시작
  • 이너 조인 - 필터가 추가된 크로스 조인.
  • 외부 조인 - 나중에 누락된 요소(왼쪽 또는 오른쪽 테이블)가 추가된 내부 조인.

이 (상대적인) 심플한 모델을 알기 전까지는 JOINS는 항상 블랙아트에 가까웠다.이제 그들은 완벽하게 말이 된다.

이게 혼란스러움보다 더 도움이 되길 바란다.

질문에 답하기 위해

SQL Server joins 구문 OUTER는 옵션입니다.

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

따라서 다음 목록에는 OUTER를 사용하는 경우와 사용하지 않는 경우의 Join 등가 구문이 나와 있습니다.

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에 가입하는 것을 강력히 권장합니다.

왼쪽/오른쪽과 왼쪽/오른쪽 외측은 동일한 이유는 무엇입니까?이 어휘가 왜 나오는지 설명해보겠습니다.LEFT와 RIGHT 조인은 OUTER 조인의 고유한 경우이므로 OUTER LEFT/OUTER RIGHT 이외의 다른 것은 있을 수 없습니다.OUTER 조인(OUTER Join)은 OUTER 조인(OUTER Join)의 일부 결과인 LEFT 및 RIGHT 조인(LEFT 및 RIGHT 조인)과 달리 FULL OUTER라고도 합니다.확실히:

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)

이제 이러한 작업에 별칭이 있는 이유를 알 수 있을 뿐만 아니라 INSER, OUTER, CROSS의 3가지 사례만 존재합니다.OUTER용 서브케이스 2개 포함.어휘, 선생님들이 이것을 설명하는 방법, 그리고 위의 몇 가지 대답들은 종종 많은 다른 종류의 가입이 있는 것처럼 보이게 한다.하지만 사실은 매우 간단합니다.

가입은 3개뿐입니다.

  • A) 교차 결합 = 데카르트 (예: 표 A, 표 B)

  • B) Inner Join = JOIN (예: 표 A의 Join/Inner Join 테이블 B)

  • C) 외부 결합:

    외부 접합에는 세 가지 유형이 있습니다.

    1. 왼쪽 외부 결합 = 왼쪽 결합
    2. 오른쪽 외부 결합 = 오른쪽 결합
    3. 전체 외부 결합 = 전체 결합

JOIN에는 크게 세 가지 유형이 있습니다.

  1. 내부: 두 테이블에 모두 있는 데이터를 가져옵니다.
    • JOIN만 이너 조인을 의미합니다.
  2. 외부: 3종류

    • LEFT AUTER - 왼쪽 테이블과 일치하는 조건에 있는 데이터만 가져옵니다.
    • 우측 아우터 - 우측 테이블 및 일치 조건의 데이터만 가져옵니다.
    • FULL AUTER - 테이블 중 하나 또는 둘 다 존재하는 데이터를 가져옵니다.
    • (왼쪽 또는 오른쪽 또는 전체) 바깥쪽 조인(Outer)을 "Outer"로 쓸 수 있습니다.
  3. Cross Join : 모든 것을 모든 것

통사설탕은 일반 독자들에게 결합이 내부 결합이 아니라는 것을 더 명확하게 해줍니다.

이 질문의 맥락에서 두 개의 'APPLY' 연산자도 게시하고 싶습니다.

참가:

  1. 내부 결합 = 결합

  2. 아우터 조인트

    • 좌측 외측 결합 = 좌측 결합

    • 우측 외측 결합 = 우측 결합

    • 전체 외부 결합 = 전체 결합

  3. 크로스 조인트

SELF-JOIN: 이것은 완전히 다른 유형의 결합이 아닙니다.이것은 기본적으로 위의 몇 가지 조인을 사용하여 테이블을 그 자체에 결합하는 것입니다.그러나 저는 이 용어를 SQL Developer 커뮤니티의 많은 사람들로부터 듣게 될 것이기 때문에 JOIN 토론에서 언급할 가치가 있다고 느꼈습니다.

적용:

  1. CROSS APPLY - INSER JOIN과 유사합니다(단, 왼쪽 테이블의 각 행에 대해 오른쪽 테이블의 무언가를 계산할 수 있으며 일치하는 행만 반환할 수 있습니다.
  2. OUTER APPLY - LEFT OUTER JOIN과 비슷합니다(단, 왼쪽 테이블의 각 행에 대해 오른쪽 테이블의 무언가를 계산할 수 있으며 오른쪽 테이블의 일치 여부에 관계없이 왼쪽 테이블의 모든 행을 반환할 수 있습니다).

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

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

SQL에서 OUTER / CROSS APPLY를 사용하는 실제 예

APPLY 연산자는 서브쿼리에서 동일한 계산을 수행하는 것보다 더 나은 성능을 제공하기 때문에 매우 유익합니다.또한 이전 버전의 SQL Server에서 많은 분석 기능을 대체하고 있습니다.그렇기 때문에 JOINS에 익숙해진 후에는 SQL 개발자 한 명이 APPLY 연산자를 익혀야 한다고 생각합니다.

언급URL : https://stackoverflow.com/questions/406294/left-join-vs-left-outer-join-in-sql-server

반응형