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

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

Linda Hamilton
Lepaskan: 2025-01-14 07:27:44
asal
494 orang telah melayarinya

How to Efficiently Join Four SQL Tables Using Shared IDs?

Menyambungkan Berbilang Jadual SQL melalui ID Dikongsi

Bekerja dengan pangkalan data hubungan selalunya memerlukan gabungan data daripada berbilang jadual. Ini melibatkan penggabungan jadual berdasarkan lajur biasa. Panduan ini menunjukkan cara menggabungkan empat jadual (JadualA, JadualB, JadualC dan JadualD) dengan berkesan menggunakan ID masing-masing.

Struktur Jadual:

  • JadualA: bantuan | namaA | dID
  • JadualB: bID | namaB | cID | bantuan
  • JadualC: cID | namaC | tarikh
  • JadualD: dID | namaD

Gabungan Awal (Jadual A, B dan C):

Kaedah biasa untuk menyertai Jadual A dan C melalui Jadual B menggunakan lajur "aID" dan "cID" yang dikongsi:

<code class="language-sql">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

Menambahkan JadualD pada Sertai:

Menyertai TableD secara langsung kepada pertanyaan awal adalah bermasalah kerana kekurangan lajur kongsi. Penyelesaiannya adalah dengan menambah syarat gabungan yang lain:

<code class="language-sql">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

Pertanyaan dipertingkat ini menghubungkan keempat-empat jadual menggunakan lajur ID kongsi mereka. Perhatikan kebolehbacaan dipertingkat yang dicapai melalui pemformatan dan lekukan yang betul.

Atas ialah kandungan terperinci Bagaimana untuk Menyertai Empat Jadual SQL dengan Cekap Menggunakan 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
Artikel terbaru oleh pengarang
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan