Rumah >pangkalan data >tutorial mysql >Bagaimana untuk Menyertai Berbilang Jadual dengan Cekap dalam MySQL?

Bagaimana untuk Menyertai Berbilang Jadual dengan Cekap dalam MySQL?

Susan Sarandon
Susan Sarandonasal
2024-12-20 14:47:16652semak imbas

How to Efficiently Join Multiple Tables in MySQL?

Menyertai Berbilang Jadual Menggunakan MySQL: Panduan Komprehensif

Apabila menguruskan pangkalan data, selalunya menjadi perlu untuk mendapatkan semula data daripada berbilang jadual. MySQL menawarkan operator JOIN yang berkuasa yang membolehkan anda menggabungkan data daripada jadual berbeza berdasarkan medan biasa.

Sertai Tiga Jadual dalam MySQL

Dalam contoh yang disediakan, matlamatnya ialah untuk mendapatkan semula nama pelajar dengan kursus yang telah mereka pelajari daripada tiga jadual: Pelajar, Kursus dan Jambatan. Jadual Bridge bertindak sebagai perantara, menghubungkan pelajar dengan kursus.

Menggunakan INNER JOIN

Untuk mencapai ini, gunakan sintaks INNER JOIN, yang sepadan dengan baris daripada Pelajar dan Jadual kursus berdasarkan nilai dalam jadual Bridge:

SELECT s.name AS Student, c.name AS Course
FROM student s
INNER JOIN bridge b ON s.id = b.sid
INNER JOIN course c ON b.cid = c.id
ORDER BY s.name;

Dinormalkan Borang: Mencari Perhubungan Pengurusan

Dalam contoh kedua, anda ingin menentukan siapa yang mengurus siapa daripada pekerja dan menguruskan jadual.

Menggunakan Sintaks SERTAI SQL

Untuk mendapatkan semula maklumat ini dalam keadaan normal borang:

SELECT e1.name AS Manager, e2.name AS Staff
FROM employee e1
JOIN manage m ON e1.id = m.mid
JOIN employee e2 ON m.eid = e2.id;

Sintaks ANSI untuk Kejelasan

Adalah disyorkan untuk menggunakan sintaks ANSI untuk kejelasan dan kebolehbacaan yang lebih baik:

SELECT s.name AS Student, c.name AS Course
FROM student s
INNER JOIN bridge b ON s.id = b.sid
INNER JOIN course c ON b.cid = c.id
ORDER BY s.name;

SELECT e1.name AS Manager, e2.name AS Staff
FROM employee e1
JOIN manage m ON e1.id = m.mid
JOIN employee e2 ON m.eid = e2.id;

Atas ialah kandungan terperinci Bagaimana untuk Menyertai Berbilang Jadual dengan Cekap dalam MySQL?. 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