집 >데이터 베이스 >MySQL 튜토리얼 >중간 테이블을 사용하여 직접적인 외래 키 관계가 없는 테이블을 조인하는 방법은 무엇입니까?
직접 외래 키 없이 테이블 연결: 중간 테이블 활용
직접적인 외래 키 관계가 없는 테이블을 조인하는 것은 까다로울 수 있습니다. 해결책은? 두 테이블의 외래 키를 포함하는 중간 테이블입니다.
종, 숲, 나무라는 세 가지 테이블을 생각해 보세요. Tree
테이블은 외래 키를 통해 Species
및 Forest
에 모두 연결되지만 Species
과 Forest
은 서로 직접 참조하지 않습니다.
질의: 종과 산림 데이터 결합
'ARCTIC' 지역 숲의 숲 이름, 종 이름, 나무 유형을 검색하려면 다음 SQL 쿼리를 사용하세요.
<code class="language-sql">SELECT Forest.Fo_name, Species.Sp_name, Species.Sp_woodtype FROM Forest INNER JOIN Tree ON Tree.Tr_forest = Forest.Fo_name INNER JOIN Species ON Tree.Tr_species = Species.Sp_name WHERE Forest.Fo_loc = 'ARCTIC' ORDER BY Forest.Fo_name, Species.Sp_name;</code>
쿼리 분석
이 쿼리는 테이블을 효율적으로 조인합니다.
Forest
(Tree
테이블의 포리스트 이름) 및 Tree.Tr_forest
(Tree
테이블의 포리스트 이름)을 사용하여 Forest.Fo_name
과 Forest
를 조인합니다.Tree
(Species
표의 종 이름)과 Tree.Tr_species
(Tree
표의 종 이름)을 사용하여 Species.Sp_name
과 Species
을 결합합니다.WHERE
절은 'ARCTIC'에 위치한 숲만 표시하도록 결과를 필터링합니다.ORDER BY
는 숲 이름, 종 이름 순으로 결과를 정렬합니다.이 방법은 Tree
테이블을 Species
과 Forest
을 연결하는 브리지로 효과적으로 사용하여 원하는 정보를 검색할 수 있습니다.
위 내용은 중간 테이블을 사용하여 직접적인 외래 키 관계가 없는 테이블을 조인하는 방법은 무엇입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!