2016-10-18 5 views
1

LEFT JOIN 조건에서 키의 순서를 반대로하면 어떻게됩니까?LEFT JOIN 조건의 키 순서

이상적인 SQL은

select fields 
from tableA 
LEFT JOIN tableB 
ON tableB.key = tableA.key -- (order flipped) 

이 쿼리 결과의 다른 세트를 생성합니다

select fields 
from tableA 
LEFT JOIN tableB 
ON tableA.key = tableB.key 

는 조건 조인의 뒤집혀 위해 두 개의 테이블을 조인 구문을 가입 왼쪽?

+0

동일한 것이 없습니다. – Drew

답변

1

LEFT JOIN은 교환 법칙이 성립하지, 당신은 인수를 전환 할 수 없습니다 : tableA LEFT JOIN tableBtableB RIGHT JOIN tableA에 해당하고, tableB LEFT JOIN tableA 다릅니다.

== 스위치 인수, 교환 법칙이 성립입니다 : tableA.key = tableB.keytableB.key = tableA.key에 해당합니다.

2

같은 결과가 나타납니다. on 절은 true 또는 false로 평가됩니다. 순서는 중요하지 않습니다.

테이블 자체의 위치 만 중요합니다. 예 : 아래 테이블 순서를 바꾸면 다른 결과가 나옵니다.

select fields 
from tableB 
LEFT JOIN tableA 
ON tableA.key = tableB.key