집 >데이터 베이스 >MySQL 튜토리얼 >여러 테이블의 데이터를 결합하기 위해 하위 쿼리가 SQL 내부 조인을 어떻게 향상시킬 수 있습니까?
SQL 내부 조인을 사용하여 여러 테이블의 데이터를 효율적으로 결합: 하위 쿼리 접근 방식
이 문서에서는 일치하는 열 값을 기반으로 여러 테이블에서 데이터를 검색하는 일반적인 SQL 문제를 다룹니다. 구체적인 시나리오에는 tbl_facilitators
및 tbl_facilitatorClasses
에서 데이터를 추출하는 작업이 포함되며, 구조화된 형식으로 기본 및 보조 진행자의 성과 이름과 함께 학급 이름을 표시하는 것을 목표로 합니다.
처음에는 간단한 내부 조인으로는 기본 및 보조 촉진자 세부 정보를 동시에 검색하는 데 불충분한 것으로 나타났습니다.
하위 쿼리를 활용하여 조인 작업 최적화
@philipxy가 제안한 솔루션은 하위 쿼리를 우아하게 사용하여 조인 프로세스를 간소화합니다. 세련된 쿼리를 단계별로 살펴보겠습니다.
앨리어싱 tbl_facilitatorClasses
<code class="language-sql">(tbl_facilitatorClasses AS tblCLS</code>
간결하고 명확하게 하기 위해 별칭 tblCLS
을 tbl_facilitatorClasses
에 할당합니다.
tblCLS
와 tbl_facilitators
합류(주요 진행자)
<code class="language-sql">INNER JOIN tbl_facilitators AS tblP ON tblCLS.primeFacil = tblP.facilID)</code>
이 하위 쿼리는 tblCLS
를 일치 키로 사용하여 tbl_facilitators
및 tblP
(별칭 primeFacil
)을 조인하여 클래스 이름과 주요 진행자 정보가 포함된 중간 결과 집합을 생성합니다.
tbl_facilitators
(보조 진행자)과 함께 하위 쿼리에 참여
<code class="language-sql">INNER JOIN tbl_facilitators AS tblS ON tblCLS.secondFacil = tblS.facilID;</code>
최종 내부 조인은 일치를 위해 tbl_facilitators
를 사용하여 이전 하위 쿼리의 출력을 tblS
(별칭 secondFacil
)과 병합합니다. 이를 통해 수업 이름과 함께 1차 및 2차 진행자 데이터를 포함한 완전한 데이터세트가 생성됩니다.
SELECT
문을 사용한 데이터 선택
그런 다음 SELECT
문을 사용하여 원하는 열을 검색합니다.
<code class="language-sql">SELECT tblCLS.className, tblP.facilLname, tblP.facilFname, tblS.facilLname, tblS.facilFname</code>
MS Access는 하위 쿼리 주위에 괄호를 사용하여 작업 순서를 올바르게 지정하여 조인이 의도한 순서대로 수행되도록 합니다. 이 접근 방식은 필요한 데이터를 효과적으로 검색하여 원하는 출력을 생성합니다.
위 내용은 여러 테이블의 데이터를 결합하기 위해 하위 쿼리가 SQL 내부 조인을 어떻게 향상시킬 수 있습니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!