셀프조인 예제

셀프 조인을 사용하여 테이블의 중복 값을 식별할 수도 있습니다. 색상이라는 예제 테이블을 소개해 보겠습니다: 한 가지 전형적인 예는 직원과 관리자의 직속 관리자 목록을 얻고자 하는 경우입니다. 다음 쿼리는 `Kitchen` 범주의 모든 즉각적인 하위 범주의 이름을 반환합니다. 그러나 계층 적 데이터의 또 다른 예는 부모 – 자식 관계입니다. 이 관계를 저장함으로써, 우리는 전체 가계도를 수용하기 위해 하나의 테이블을 사용할 수 있습니다. 그런 다음 자체 조인을 사용하여 특정 사람의 조상에 대한 데이터를 쉽게 검색할 수 있습니다. 아래와 같이 직원 테이블을 기반으로 한 예제를 살펴보겠습니다. 예를 들어 접시를 준비하는 데 필요한 연속 단계를 설명하는 레코드가 있다고 가정합니다. 모든 단계를 단일 테이블에 배치할 수 있습니다. 순서는 동일한 테이블의 이전 레코드와 다음 레코드의 아이디를 가리키는 열을 기반으로 결정됩니다. 다음 예제에서는 EMPLOYEE 테이블을 두 번 사용 하 고 이렇게 하려면 테이블의 별칭을 사용 합니다. 직원 테이블에는 ID, 이름, 성 및 이메일과 같은 직원 정보가 저장됩니다. 또한 직접 관리자를 지정하는 manager_id라는 열이 있습니다.

예를 들어, 미레야는 미레야의 manager_id값이 파비올라이기 때문에 파비올라에게 보고합니다. 자기 조인이란 무엇이며 언제 사용하시겠습니까? 나는 자기 가조를 이해하지 못하기 때문에 예제와 함께 평신도 설명이 좋을 것입니다. 우수한 열등한 레코드 접근 방식을 사용하여 저장소 데이터에 대해 위에서 설명한 계층 구조의 예입니다. 이를 통해 데이터를 트리 구조로 표시할 수 있습니다. 관계형 데이터베이스에 대해 계속 알아보면서 트리 구조에 대해 자세히 알아봅니다. SQL 자체 조인은 조직 구조와 같은 한 테이블에 저장된 관련 데이터를 선택하려는 경우에 매우 유용합니다. 예를 들어 누구에게 보고대상을 표시하려면 직원 테이블을 다음 쿼리로 조인할 수 있습니다. 조인은 e.manager_id 및 m.staff_id 열의 값을 사용하여 직원 및 관리자 관계와 일치합니다. 자체 조인을 사용하여 모든 열별로 직원 테이블의 다른 행과 행을 비교할 수 있습니다.