Rumah >pangkalan data >tutorial mysql >Bagaimana untuk Menyertai Empat Jadual SQL dengan Cekap Menggunakan ID Biasa?

Bagaimana untuk Menyertai Empat Jadual SQL dengan Cekap Menggunakan ID Biasa?

Susan Sarandon
Susan Sarandonasal
2025-01-14 09:39:44816semak imbas

How to Efficiently Join Four SQL Tables Using Common IDs?

Menyambungkan Berbilang Jadual SQL melalui ID Dikongsi

Pengurusan pangkalan data perhubungan selalunya memerlukan penyertaan berbilang jadual berdasarkan ID kongsi. Mari kita ilustrasikan dengan empat jadual:

<code>TableA: aID | nameA | dID
TableB: bID | nameB | cID | aID
TableC: cID | nameC | date
TableD: dID | nameD</code>

Penyertaan Awal

Proses bermula dengan mengenal pasti perhubungan utama utama dan asing. Di sini, TableA dan TableB bersambung melalui aID (kunci asing masuk TableB), dan TableB dan TableC sambung melalui cID (kunci asing masuk TableB). Gabungan awal ini kelihatan seperti ini:

<code class="language-sql">SELECT *
FROM TableB
INNER JOIN TableA ON TableB.aID = TableA.aID
INNER JOIN TableC ON TableB.cID = TableC.cID
WHERE DATE(TableC.date) = DATE(NOW());</code>

Menyepadukan JadualD

Untuk memasukkan TableD, kami menambah satu lagi JOIN klausa memaut TableA dan TableD menggunakan dID. Pernyataan SQL yang dipertingkatkan ialah:

<code class="language-sql">SELECT *
FROM TableA
JOIN TableB ON TableB.aID = TableA.aID
JOIN TableC ON TableB.cID = TableC.cID
JOIN TableD ON TableD.dID = TableA.dID
WHERE DATE(TableC.date) = DATE(NOW());</code>

Peningkatan Utama:

  • Menghapuskan kurungan yang tidak diperlukan meningkatkan kebolehbacaan.
  • Lekukan yang konsisten menjelaskan klausa JOIN yang berasingan.

Pendekatan yang disemak ini dengan cekap menggabungkan keempat-empat jadual, memberikan penyelesaian yang lebih bersih dan lebih mudah difahami.

Atas ialah kandungan terperinci Bagaimana untuk Menyertai Empat Jadual SQL dengan Cekap Menggunakan ID Biasa?. 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