Rumah >pangkalan data >tutorial mysql >Bagaimanakah Subqueries Boleh Meningkatkan Gabungan Dalaman SQL untuk Menggabungkan Data daripada Berbilang Jadual?

Bagaimanakah Subqueries Boleh Meningkatkan Gabungan Dalaman SQL untuk Menggabungkan Data daripada Berbilang Jadual?

Susan Sarandon
Susan Sarandonasal
2025-01-15 10:34:44676semak imbas

How Can Subqueries Improve SQL Inner Joins for Combining Data from Multiple Tables?

Menggabungkan Data daripada Berbilang Jadual dengan Cekap dengan SQL Inner Joins: Pendekatan Subkueri

Artikel ini menangani cabaran SQL biasa: mendapatkan semula data daripada berbilang jadual berdasarkan nilai lajur yang sepadan. Senario khusus melibatkan pengekstrakan data daripada tbl_facilitators dan tbl_facilitatorClasses, bertujuan untuk memaparkan nama kelas bersama nama pertama dan nama keluarga fasilitator utama dan menengah dalam format berstruktur.

Sambungan dalaman yang jelas pada mulanya terbukti tidak mencukupi untuk mendapatkan kedua-dua butiran fasilitator primer dan sekunder secara serentak.

Memanfaatkan Subkueri untuk Mengoptimumkan Operasi Sertai

Penyelesaian, yang dicadangkan oleh @philipxy, menggunakan subkueri secara elegan untuk menyelaraskan proses penyertaan. Mari kita periksa pertanyaan yang diperhalusi langkah demi langkah:

Menyamakan tbl_facilitatorClasses

<code class="language-sql">(tbl_facilitatorClasses AS tblCLS</code>

Ini memberikan alias tblCLS kepada tbl_facilitatorClasses untuk ringkas dan jelas.

Menyertai tblCLS dengan tbl_facilitators (Fasilitator Utama)

<code class="language-sql">INNER JOIN tbl_facilitators AS tblP
ON tblCLS.primeFacil = tblP.facilID)</code>

Subkueri ini bergabung dengan tblCLS dan tbl_facilitators (disebut sebagai tblP) menggunakan primeFacil sebagai kunci padanan, menghasilkan set hasil perantaraan yang mengandungi nama kelas dan maklumat fasilitator utama.

Menyertai Subkueri dengan tbl_facilitators (Fasilitator Menengah)

<code class="language-sql">INNER JOIN tbl_facilitators AS tblS
ON tblCLS.secondFacil = tblS.facilID;</code>

Gabungan dalam terakhir menggabungkan output subkueri sebelumnya dengan tbl_facilitators (disebut sebagai tblS), menggunakan secondFacil untuk padanan. Ini menghasilkan set data lengkap termasuk data fasilitator primer dan sekunder, bersama-sama dengan nama kelas.

Pemilihan Data dengan SELECT Kenyataan

Lajur yang dikehendaki kemudiannya diambil menggunakan pernyataan SELECT:

<code class="language-sql">SELECT tblCLS.className,
    tblP.facilLname, tblP.facilFname, tblS.facilLname, tblS.facilFname</code>

Dengan menggunakan tanda kurung di sekeliling subkueri, MS Access menyusun operasi dengan betul, memastikan cantuman dilakukan mengikut susunan yang dimaksudkan. Pendekatan ini secara berkesan mendapatkan semula data yang diperlukan, menghasilkan output yang diingini.

Atas ialah kandungan terperinci Bagaimanakah Subqueries Boleh Meningkatkan Gabungan Dalaman SQL untuk Menggabungkan Data daripada Berbilang Jadual?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan:
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn