FROM
절의 SQL 왼쪽 조인 및 다중 테이블 조인: 두 번째 구문
기존 SQL 언어에서는 WHERE
절과 LEFT JOIN
을 통한 조인이 허용되지만, 특히 내부 조인을 수행할 때 LEFT JOIN
구문 사용의 이점을 이해하는 것이 중요합니다.
모호함을 피하세요
최신 데이터베이스에서는 WHERE
절 조건을 사용하여 테이블을 나열하는 전통적인 방법이 더 이상 사용되지 않습니다. 동일한 쿼리에서 내부 조인과 외부 조인을 결합할 때 이 구문이 혼동될 수 있습니다.
예: 모호한 레거시 연결
다음 예를 고려해 보세요.
<code class="language-sql">SELECT * FROM Company, Department, Employee WHERE Company.ID = Department.CompanyID AND Department.ID = Employee.DepartmentID</code>
이 쿼리는 회사, 부서 및 직원을 나열하기 위해 고안되었습니다. 그러나 쿼리 최적화 프로그램은 Department
테이블과 Employee
테이블 간의 내부 조인을 우선시하도록 선택하여 부서가 없는 회사가 제외될 수 있습니다.
해결책: LEFT JOIN 구문
LEFT JOIN
구문은 연결 순서를 명시적으로 지정하여 이러한 모호성을 해결합니다. 내부 조인을 괄호 안에 배치하고 회사 테이블을 사용하여 왼쪽 조인을 수행하면 이전 쿼리는 다음과 같습니다.
<code class="language-sql">SELECT * FROM Company LEFT JOIN ( Department INNER JOIN Employee ON Department.ID = Employee.DepartmentID ) ON Company.ID = Department.CompanyID</code>
이 구문을 사용하면 부서가 없는 회사도 포함하여 모든 회사가 포함됩니다.
추가적인 제어 및 유연성
LEFT JOIN
구문은 조인 조건에 대한 추가 제어도 제공합니다. 예를 들어 다음 쿼리는 이름에 문자 "X"가 포함된 부서를 필터링합니다.
<code class="language-sql">SELECT * FROM Company LEFT JOIN ( Department INNER JOIN Employee ON Department.ID = Employee.DepartmentID ) ON Company.ID = Department.CompanyID AND Department.Name LIKE '%X%'</code>
결론
LEFT JOIN
구문은 내부 조인과 함께 FROM
행에서 테이블을 조인하는 기존 방법에 비해 몇 가지 장점을 제공합니다. 이는 모호성을 제거하고 더 강력한 제어 기능을 제공하며 쿼리 최적화 프로세스를 단순화합니다. 따라서 최신 SQL 애플리케이션에서는 LEFT JOIN
및 INNER JOIN
사용을 적극 권장합니다.
위 내용은 SQL 조인: `FROM` 절의 여러 테이블 대신 중첩된 `INNER JOIN`과 함께 `LEFT JOIN`을 사용하는 이유는 무엇입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!