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

Bagaimana untuk Menyertai Empat Jadual SQL dengan Cekap dengan ID Dikongsi?

DDD
Lepaskan: 2025-01-14 10:11:46
asal
234 orang telah melayarinya

How to Efficiently Join Four SQL Tables with Shared IDs?

Sertai berbilang jadual SQL menggunakan ID

Dalam pengurusan pangkalan data, menyertai jadual ialah operasi utama dalam mendapatkan dan mengaitkan data daripada pelbagai sumber data. Apabila bekerja dengan set data yang saling berkaitan, jadual perlu digabungkan berdasarkan pengecam biasa.

Pertimbangkan senario berikut:

Anda mempunyai empat jadual berbeza bernama JadualA, JadualB, JadualC dan JadualD. Struktur mereka adalah seperti berikut:

<code>TableA - aID | nameA | dID
TableB - bID | nameB | cID | aID
TableC - cID | nameC | date
TableD - dID | nameD</code>
Salin selepas log masuk

Bermula dari TableA, anda menyasarkan untuk melakukan gabungan dengan TableB melalui lajur kongsi "aID". Selain itu, anda ingin menyambungkan TableA dengan TableC menggunakan TableB sebagai perantara. Pernyataan SQL berikut mencapai ini:

<code>SELECT TableA.*, TableB.*, TableC.*
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>
Salin selepas log masuk

Walau bagaimanapun, apabila cuba memasukkan JadualD ke dalam pertanyaan menggunakan lajur 'dID', saya menghadapi ralat yang menyatakan bahawa 'TableD' tidak diketahui.

Penyelesaian terletak pada menambah penyataan gabungan lain. Versi pertanyaan yang diperbetulkan dibentangkan di bawah:

<code>SELECT TableA.*, TableB.*, TableC.*, TableD.*
FROM TableA
    JOIN TableB
        ON TableB.aID = TableA.aID
    JOIN TableC
        ON TableC.cID = TableB.cID
    JOIN TableD
        ON TableD.dID = TableA.dID
WHERE DATE(TableC.date)=date(now())</code>
Salin selepas log masuk

Dalam pertanyaan yang diubah suai ini, TableA disambungkan terus ke TableD melalui lajur "dID". Pendekatan ini berjaya menggabungkan keempat-empat jadual, membolehkan anda mendapatkan semula data daripada semua jadual dengan cara yang koheren.

Atas ialah kandungan terperinci Bagaimana untuk Menyertai Empat Jadual SQL dengan Cekap dengan ID Dikongsi?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

sumber:php.cn
Kenyataan Laman Web ini
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
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan