>데이터 베이스 >MySQL 튜토리얼 >중간 테이블을 사용하여 직접적인 외래 키 관계가 없는 테이블을 조인하는 방법은 무엇입니까?

중간 테이블을 사용하여 직접적인 외래 키 관계가 없는 테이블을 조인하는 방법은 무엇입니까?

Barbara Streisand
Barbara Streisand원래의
2025-01-15 18:27:16687검색

How to Join Tables Lacking Direct Foreign Key Relationships Using an Intermediate Table?

직접 외래 키 없이 테이블 연결: 중간 테이블 활용

직접적인 외래 키 관계가 없는 테이블을 조인하는 것은 까다로울 수 있습니다. 해결책은? 두 테이블의 외래 키를 포함하는 중간 테이블입니다.

종, 숲, 나무라는 세 가지 테이블을 생각해 보세요. Tree 테이블은 외래 키를 통해 SpeciesForest에 모두 연결되지만 SpeciesForest은 서로 직접 참조하지 않습니다.

질의: 종과 산림 데이터 결합

'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>

쿼리 분석

이 쿼리는 테이블을 효율적으로 조인합니다.

  1. 먼저 Forest(Tree 테이블의 포리스트 이름) 및 Tree.Tr_forest(Tree 테이블의 포리스트 이름)을 사용하여 Forest.Fo_nameForest를 조인합니다.
  2. 그런 다음 Tree(Species 표의 종 이름)과 Tree.Tr_species(Tree 표의 종 이름)을 사용하여 Species.Sp_nameSpecies을 결합합니다.
  3. WHERE 절은 'ARCTIC'에 위치한 숲만 표시하도록 결과를 필터링합니다.
  4. 마지막으로 ORDER BY는 숲 이름, 종 이름 순으로 결과를 정렬합니다.

이 방법은 Tree 테이블을 SpeciesForest을 연결하는 브리지로 효과적으로 사용하여 원하는 정보를 검색할 수 있습니다.

위 내용은 중간 테이블을 사용하여 직접적인 외래 키 관계가 없는 테이블을 조인하는 방법은 무엇입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.