Rumah >pangkalan data >tutorial mysql >Bagaimana untuk Menyertai Berbilang Jadual dengan Cekap dalam 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!