Rumah >pangkalan data >tutorial mysql >Bagaimanakah Saya Boleh Menyertai Jadual dalam SQL dengan Cekap untuk Mendapatkan Data daripada Berbilang Lajur?
Mengambil Data daripada Berbilang Lajur Menggunakan SQL Table Joins
Panduan ini menunjukkan cara menggabungkan data daripada berbilang jadual SQL dengan cekap untuk mendapatkan maklumat merentas pelbagai lajur. Kami akan menumpukan pada kaedah INNER JOIN
, menyerlahkan penggunaannya dan menangani pertimbangan khusus untuk Microsoft Access.
Kaedah INNER JOIN
INNER JOIN
menggabungkan baris daripada dua atau lebih jadual berdasarkan nilai lajur yang dikongsi. Jadual yang terhasil hanya mengandungi baris yang terdapat padanan dalam semua jadual yang digabungkan. Contoh kami melibatkan tbl_facilitatorClasses
dan tbl_facilitators
untuk memaparkan nama kelas dan butiran fasilitator (utama dan menengah).
Berikut ialah pertanyaan SQL menggunakan INNER JOIN
:
<code class="language-sql">SELECT tbl_facilitatorClasses.className, tbl_facilitators.facilLname AS primaryFacilitatorLname, tbl_facilitators.facilFname AS primaryFacilitatorFname, tbl_facilitatorClasses.secondFacil, tbl_facilitators.facilLname AS secondaryFacilitatorLname, tbl_facilitators.facilFname AS secondaryFacilitatorFname FROM tbl_facilitatorClasses INNER JOIN tbl_facilitators ON tbl_facilitatorClasses.primeFacil = tbl_facilitators.facilID INNER JOIN tbl_facilitators AS secondaryFacilitator ON tbl_facilitatorClasses.secondFacil = secondaryFacilitator.facilID;</code>
Nota Penting untuk MS Access: Tanda kurung dalam Gabungan Berbilang
Dalam Microsoft Access, apabila menggunakan berbilang INNER JOIN
pernyataan, adalah penting untuk menyertakan setiap cantuman dalam kurungan untuk memastikan susunan pelaksanaan yang betul. Contoh di atas menggunakan kurungan untuk kejelasan dan untuk mengelakkan kemungkinan ralat.
Mengapa Tidak UNION
?
Walaupun UNION
menggabungkan data secara menegak daripada berbilang jadual atau subkueri, ia tidak sesuai untuk senario ini. UNION
hanya menambah baris tanpa memadankannya berdasarkan nilai lajur yang dikongsi, yang tidak akan memberikan gabungan data fasilitator dan kelas yang diingini.
Atas ialah kandungan terperinci Bagaimanakah Saya Boleh Menyertai Jadual dalam SQL dengan Cekap untuk Mendapatkan Data daripada Berbilang Lajur?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!