Pendapatan semula data Microsoft Access: senario aplikasi INNER JOIN dan UNION
Dalam pangkalan data Microsoft Access, anda mungkin perlu mendapatkan semula data daripada berbilang jadual dengan perhubungan yang berkaitan. Ini boleh dicapai dengan INNER JOIN atau UNION, kaedah yang anda pilih bergantung pada keperluan khusus anda.
SERTAI DALAM (sambungan dalaman)
INNER JOIN digunakan untuk mendapatkan semula rekod dengan baris yang sepadan daripada berbilang jadual, berdasarkan kriteria yang ditentukan. Contohnya, anda perlu mendapatkan semula data daripada jadual tbl_facilitators
dan tbl_facilitatorClasses
, berdasarkan lajur primeFacil
dan secondFacil
masing-masing.
INNER JOIN menggunakan kata kunci ON
untuk menentukan syarat yang sepadan. Berikut ialah contoh pertanyaan:
<code class="language-sql">SELECT tbl_facilitatorClasses.className, tbl_facilitators.facilLname, tbl_facilitators.facilFname FROM tbl_facilitatorClasses INNER JOIN tbl_facilitators ON tbl_facilitatorClasses.primeFacil = tbl_facilitators.facilID;</code>
Pertanyaan ini mendapatkan semula nama kursus, nama keluarga pengajar utama dan nama pertama untuk rekod yang nilai tbl_facilitatorClasses
nya dalam primeFacil
sepadan dengan nilai tbl_facilitators
dalam facilID
.
KESATUAN
UNION menggabungkan hasil dua atau lebih pertanyaan ke dalam set hasil tunggal. Dalam contoh ini, anda menggunakan UNION untuk mendapatkan semula data untuk kaunselor sekolah rendah dan menengah secara berasingan. Walau bagaimanapun, anda perlu menggabungkan hasil secara manual untuk mencipta output yang diingini.
Penyelesaian
Untuk mendapatkan semula data kaunselor primer dan menengah dalam format yang anda jangkakan, berbilang PENYERTAAN DALAM diperlukan. Pertanyaan dalam penyelesaian yang anda berikan adalah betul:
<code class="language-sql">SELECT tblCLS.className, tblP.facilLname, tblP.facilFname, tblS.facilLname, tblS.facilFname FROM (tbl_facilitatorClasses AS tblCLS INNER JOIN tbl_facilitators AS tblP ON tblCLS.primeFacil=tblP.facilID) INNER JOIN tbl_facilitators AS tblS ON tblCLS.secondFacil=tblS.facilID;</code>
Pertanyaan ini menggunakan kurungan untuk mengelilingi INNER JOIN pertama untuk memastikan susunan operasi yang betul dan dengan memadankan lajur tbl_facilitatorClasses
dan primeFacil
dalam secondFacil
ke lajur tbl_facilitators
dalam facilID
untuk mendapatkan semula output yang diperlukan untuk kaunselor sekolah rendah dan menengah.
Atas ialah kandungan terperinci Inner Join vs. Union dalam Microsoft Access: Bilakah Saya Perlu Menggunakan Setiap Untuk Mendapatkan Data daripada Berbilang Jadual?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!