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!