이 간단한 SQL 외부 조인에 대한 잘못된 점은 무엇입니까?왼쪽 외부 조인 B가 A보다 많은 행을 반환 할 수 있습니까?
select count(*) from A -- 25766
select count(*) from B -- 1242
select count(*) from A left outer join B on A.b = B.b -- 310176
return 25766, 1242 및 310176 행 (이것은 Microsoft SQL Server 2012 용입니다.) A left outer join B
은 A
에있는 것보다 더 많은 행을 반환 할 수 있습니다. 특히 this Venn 다이어그램을 제공합니까? 나는 바보 같은 실수를하고있는 것 같지만 그게 뭐야?
그것을 열 것을 할 수있다하더라도 두 개의 행을 반환합니다 : 테이블 B. 예에서 많은 행과 일치하는 테이블 A의 한 행을 가질 수 있습니다 b가 전체 키가 아닌가? – Jens
+1 확인하겠습니다. 어떻게 이것이 310176을 설명 할 수 있습니까? – Drux
b가 키의 일부일 경우 A의 한 행을 B의 행보다 더 많이 참조 할 수 있으며 예제에서 A의 참조 12,0 ... 행의 B 행은 결과를 얻습니다. – Jens