Maison >base de données >tutoriel mysql >Comment joindre plusieurs tables dans MySQL pour récupérer des données associées ?

Comment joindre plusieurs tables dans MySQL pour récupérer des données associées ?

Linda Hamilton
Linda Hamiltonoriginal
2024-12-17 10:09:25860parcourir

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

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!

Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn