Rumah >pangkalan data >tutorial mysql >Bagaimanakah Saya Boleh Menyertai Jadual yang Tiada Hubungan Utama Asing Langsung Menggunakan Jadual Ketiga?

Bagaimanakah Saya Boleh Menyertai Jadual yang Tiada Hubungan Utama Asing Langsung Menggunakan Jadual Ketiga?

Linda Hamilton
Linda Hamiltonasal
2025-01-15 18:21:48117semak imbas

How Can I Join Tables Lacking Direct Foreign Key Relationships Using a Third Table?

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!

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