집 >데이터 베이스 >MySQL 튜토리얼 >자체 조인이 단일 테이블 내의 데이터를 연결하는 데 어떻게 도움이 될 수 있습니까?
자기 연결에 대한 심층적인 이해: 가이드
관계형 데이터베이스 관리 시스템에서 셀프 조인은 테이블을 스스로 조인할 수 있는 강력한 작업입니다. 이는 테이블 내 여러 행의 데이터를 비교하거나 상관시켜야 할 때 특히 유용합니다.
자체 연결을 사용하는 경우
테이블에 동일한 테이블의 데이터를 참조하는 열이 포함된 경우 셀프 조인을 사용해야 합니다. 일반적인 예는 현재 직원의 감독자를 가리키는 SupervisorID
열이 포함된 직원 테이블입니다.
셀프 조인을 수행하기 위해 테이블은 실제로 각각 e1
및 e2
이라고 불리는 두 개의 인스턴스로 분할됩니다. e1
은 원본 테이블을 나타내고 e2
은 복사본을 나타냅니다. 그러면 조인 조건은 e1.column = e2.column
이 됩니다.
예
다음 직원 테이블을 고려해 보세요.
EmployeeID | FirstName | LastName | SupervisorID |
---|---|---|---|
1 | John | Doe | 2 |
2 | Mary | Smith | NULL |
3 | Jane | Brown | 1 |
데이터를 쿼리하고 직원 및 감독자에 대한 정보를 단일 행으로 검색하려면 셀프 조인을 사용할 수 있습니다.
<code class="language-sql">SELECT e1.EmployeeID, e1.FirstName, e1.LastName, e1.SupervisorID, e2.FirstName AS SupervisorFirstName, e2.LastName AS SupervisorLastName FROM Employee e1 LEFT OUTER JOIN Employee e2 ON e1.SupervisorID = e2.EmployeeID</code>
이 쿼리는 다음 결과를 출력합니다.
EmployeeID | FirstName | LastName | SupervisorID | SupervisorFirstName | SupervisorLastName |
---|---|---|---|---|---|
1 | John | Doe | 2 | Mary | Smith |
3 | Jane | Brown | 1 | John | Doe |
위 내용은 자체 조인이 단일 테이블 내의 데이터를 연결하는 데 어떻게 도움이 될 수 있습니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!