Maison >base de données >tutoriel mysql >Comment joindre plusieurs tables dans MySQL pour récupérer des données associées ?
Joindre des tables dans MySQL
Dans MySQL, joindre des tables nous permet de combiner les données de plusieurs tables en fonction de colonnes partagées. Dans cette question, nous visons à joindre trois tables pour récupérer des informations spécifiques.
Rejoindre les tables d'étudiant, de cours et de pont
Les données fournies comprennent trois tables : Étudiant ( contient les noms des étudiants), Course (contient les noms des cours) et Bridge (connecte les identifiants des étudiants aux identifiants de cours). Pour récupérer le résultat souhaité (liste des noms d'étudiants avec les noms de cours étudiés), vous devez utiliser une jointure interne utilisant la syntaxe 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;
Cette requête produira le résultat attendu, affichant le nom de chaque étudiant et les cours auxquels il ont étudié.
Rejoindre les employés et gérer les tables
Pour la deuxième partie de la question, nous avons deux tables : Employé (contient les noms des employés) et Gérer (connecte les identifiants des responsables aux identifiants des employés). Pour récupérer le résultat souhaité (listant les managers et leur staff), vous devez à nouveau utiliser une jointure interne :
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;
Cette requête fournira le résultat attendu, affichant le nom de chaque manager et les noms des membres de son staff.
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!