Rumah >pangkalan data >tutorial mysql >Bagaimana untuk Menyertai Berbilang Jadual dalam MySQL untuk Mendapatkan Data Berkaitan?

Bagaimana untuk Menyertai Berbilang Jadual dalam MySQL untuk Mendapatkan Data Berkaitan?

Linda Hamilton
Linda Hamiltonasal
2024-12-17 10:09:25862semak imbas

How to Join Multiple Tables in MySQL to Retrieve Related Data?

Menyertai Jadual dalam MySQL

Dalam MySQL, menyertai jadual membolehkan kami menggabungkan data daripada berbilang jadual berdasarkan lajur yang dikongsi. Dalam soalan ini, kami berhasrat untuk menyertai tiga jadual untuk mendapatkan maklumat tertentu.

Menyertai Jadual Pelajar, Kursus dan Jambatan

Data yang diberikan termasuk tiga jadual: Pelajar ( memegang nama pelajar), Kursus (mengandungi nama kursus) dan Bridge (menghubungkan ID pelajar dengan ID kursus). Untuk mendapatkan hasil yang diingini (menyenaraikan nama pelajar dengan nama kursus yang dipelajari), anda mesti menggunakan gabungan dalaman menggunakan sintaks ANSI:

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;

Pertanyaan ini akan menghasilkan hasil yang diharapkan, menunjukkan nama setiap pelajar dan kursus yang mereka telah belajar.

Menyertai Pekerja dan Mengurus Jadual

Untuk bahagian kedua soalan, kami mempunyai dua jadual: Pekerja (memegang nama pekerja) dan Urus (menghubungkan ID pengurus kepada ID pekerja). Untuk mendapatkan semula hasil yang diingini (pengurus penyenaraian dan kakitangan mereka), anda mesti menggunakan gabungan dalaman sekali lagi:

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

Pertanyaan ini akan memberikan hasil yang diharapkan, menunjukkan nama setiap pengurus dan nama ahli kakitangan mereka.

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