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가지 유형의 결합이 있습니다.
- 내부
- 외부
- 건너다
INSER JOIN - 두 테이블에 모두 있는 경우 데이터를 가져옵니다.
OUTER JOIN에는 3가지 유형이 있습니다.
LEFT OUTER JOIN
왼쪽 경우 - 왼쪽 테이블에 있는 경우 데이터를 가져옵니다.RIGHT OUTER JOIN
오른쪽 경우 - 오른쪽 테이블에 있는 경우 데이터를 가져옵니다.FULL OUTER JOIN
두 중 경우 를 가져옵니다 두 테이블 중 하나에 있으면 데이터를 가져옵니다.
크로스 조인(CROSS JOIN)은 이름에서 알 수 있듯이
[n X m]
모든 것을 모든 것에 결합하는 것입니다.
을 나열하는 합니다(「가입하다」의 경우).FROM
의SELECT
이치노
주의사항:
-
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) 다음 문구를 찾을 수 있습니다.
다른 말로 하자면
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) 외부 결합:
외부 접합에는 세 가지 유형이 있습니다.
- 왼쪽 외부 결합 = 왼쪽 결합
- 오른쪽 외부 결합 = 오른쪽 결합
- 전체 외부 결합 = 전체 결합
JOIN에는 크게 세 가지 유형이 있습니다.
- 내부: 두 테이블에 모두 있는 데이터를 가져옵니다.
- JOIN만 이너 조인을 의미합니다.
외부: 3종류
- LEFT AUTER - 왼쪽 테이블과 일치하는 조건에 있는 데이터만 가져옵니다.
- 우측 아우터 - 우측 테이블 및 일치 조건의 데이터만 가져옵니다.
- FULL AUTER - 테이블 중 하나 또는 둘 다 존재하는 데이터를 가져옵니다.
- (왼쪽 또는 오른쪽 또는 전체) 바깥쪽 조인(Outer)을 "Outer"로 쓸 수 있습니다.
Cross Join : 모든 것을 모든 것
통사설탕은 일반 독자들에게 결합이 내부 결합이 아니라는 것을 더 명확하게 해줍니다.
이 질문의 맥락에서 두 개의 'APPLY' 연산자도 게시하고 싶습니다.
참가:
내부 결합 = 결합
아우터 조인트
좌측 외측 결합 = 좌측 결합
우측 외측 결합 = 우측 결합
전체 외부 결합 = 전체 결합
크로스 조인트
SELF-JOIN: 이것은 완전히 다른 유형의 결합이 아닙니다.이것은 기본적으로 위의 몇 가지 조인을 사용하여 테이블을 그 자체에 결합하는 것입니다.그러나 저는 이 용어를 SQL Developer 커뮤니티의 많은 사람들로부터 듣게 될 것이기 때문에 JOIN 토론에서 언급할 가치가 있다고 느꼈습니다.
적용:
- CROSS APPLY - INSER JOIN과 유사합니다(단, 왼쪽 테이블의 각 행에 대해 오른쪽 테이블의 무언가를 계산할 수 있으며 일치하는 행만 반환할 수 있습니다.
- 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
'programing' 카테고리의 다른 글
폴더의 파일 수 (0) | 2023.04.24 |
---|---|
Xcode 6 Beta 4에서 앱을 실행할 때 "MyApp.app" 파일을 볼 수 있는 권한이 없기 때문에 열 수 없습니다. (0) | 2023.04.24 |
C++에서 대소문자를 구분하지 않는 문자열 비교 (0) | 2023.04.19 |
Windows에서 Node.js에서 hello.js 파일을 실행하는 방법 (0) | 2023.04.19 |
WPF 키보드숏컷 (0) | 2023.04.19 |