집 >데이터 베이스 >MySQL 튜토리얼 >조인 순서가 SQL 쿼리 결과에 영향을 줍니까?
작업 순서는 LEFT, RIGHT 및 FULL OUTER JOIN의 결과에 큰 영향을 미칩니다.
교환성 및 결합성: 보장되지 않음
<code class="language-sql">a LEFT JOIN b ON b.ab_id = a.ab_id LEFT JOIN c ON c.ac_id = a.ac_id</code>
다음과 동일하다고 보장되지는 않습니다.
<code class="language-sql">a LEFT JOIN c ON c.ac_id = a.ac_id LEFT JOIN b ON b.ab_id = a.ab_id</code>
순서가 중요한 시나리오
AND
에 민감한 NULL
값 또는 기능과 관련된 NULLs
조건(예: COALESCE()
)을 처리할 때 조인 순서가 중요합니다. 예를 들면 다음과 같습니다.
<code class="language-sql">a LEFT JOIN b ON b.ab_id = a.ab_id LEFT JOIN c ON c.ac_id = a.ac_id AND c.bc_id = b.bc_id</code>
이 쿼리는 다음과 다른 결과를 산출합니다.
<code class="language-sql">a LEFT JOIN c ON c.ac_id = a.ac_id AND c.bc_id = b.bc_id LEFT JOIN b ON b.ab_id = a.ab_id</code>
외부 조인과 달리 INNER JOIN의 순서는 최종 결과 집합에 영향을 주지 않습니다. A JOIN B
및 B JOIN A
은 동일한 결과를 생성합니다(SELECT
절을 적절하게 조정한다고 가정(예: SELECT a.*, b.*, c.*
).
위 내용은 조인 순서가 SQL 쿼리 결과에 영향을 줍니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!