Rumah >pangkalan data >tutorial mysql >Bagaimanakah Saya Boleh Menyertai Jadual yang Tiada Hubungan Utama Asing Langsung Menggunakan Jadual Ketiga?
Menyambung Jadual melalui Jadual Pemautan: Pendekatan SQL
Panduan ini menerangkan cara memautkan jadual pangkalan data yang tidak mempunyai hubungan kunci asing langsung menggunakan jadual perantara ketiga.
1. Memahami Kekangan Utama Asing
Kunci asing mengekalkan integriti data dengan merujuk kunci utama dalam jadual lain. Walaupun bermanfaat, ia tidak semestinya diperlukan untuk menyertai jadual.
2. Mencantumkan Jadual Menggunakan Jadual Perantara
Apabila dua jadual tidak mempunyai sambungan kunci asing langsung, jadual perantara yang mengandungi kunci asing kepada kedua-duanya boleh berfungsi sebagai jambatan. Kami akan menggambarkan ini dengan menyertai jadual Tree
dengan jadual Species
, menggunakan kunci asing Tr_species
dan kemudian memautkan Tree
ke jadual Forest
melalui kunci asing Tr_forest
.
3. Menapis Keputusan dengan Penapisan dan Isih
Selepas menyertai jadual, klausa WHERE
dan ORDER BY
membenarkan pemurnian hasil. Di sini, kami akan menapis untuk 'ARCTIC'
lokasi dan mengisih mengikut nama hutan dan nama spesies:
<code>WHERE Fo_loc='ARCTIC' ORDER BY Fo_name, Sp_name</code>
Contoh Pertanyaan SQL
Pertanyaan SQL berikut menunjukkan proses lengkap:
<code class="language-sql">SELECT Forest.Fo_name, Species.Sp_name, Species.Sp_woodtype FROM Forest INNER JOIN Tree ON Forest.Fo_name = Tree.Tr_forest INNER JOIN Species ON Tree.Tr_species = Species.Sp_name WHERE Fo_loc='ARCTIC' ORDER BY Fo_name, Sp_name;</code>
Ringkasan
Teknik ini mempamerkan cara jadual perantara membolehkan penyatuan jadual tanpa perhubungan utama asing langsung. Ini menyerlahkan kepelbagaian SQL dalam mengendalikan struktur data yang kompleks dan menunjukkan bahawa kunci asing, walaupun membantu, tidak wajib untuk gabungan jadual.
Atas ialah kandungan terperinci Bagaimanakah Saya Boleh Menyertai Jadual yang Tiada Hubungan Utama Asing Langsung Menggunakan Jadual Ketiga?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!