Joindre plusieurs tables à l'aide de MySQL : un guide complet
Lors de la gestion de bases de données, il devient souvent nécessaire de récupérer les données de plusieurs tables. MySQL propose de puissants opérateurs JOIN qui vous permettent de combiner des données de différentes tables en fonction de champs communs.
Joindre trois tables dans MySQL
Dans l'exemple fourni, l'objectif est pour récupérer les noms des étudiants avec les cours qu'ils ont étudiés à partir de trois tables : Étudiant, Cours et Bridge. La table Bridge agit comme un intermédiaire, reliant les étudiants aux cours.
Utilisation d'INNER JOIN
Pour y parvenir, utilisez une syntaxe INNER JOIN, qui correspond aux lignes de l'étudiant et Tableaux de cours basés sur les valeurs de la table 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;
Forme normalisée : Finding Management Relations
Dans le deuxième exemple, vous souhaitez déterminer qui gère qui à partir de l'employé et gérer les tables.
Utilisation de la syntaxe SQL JOIN
Pour récupérer ces informations sous une forme normalisée :
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;
Syntaxe ANSI pour Clarté
Il est recommandé d'utiliser la syntaxe ANSI pour plus de clarté et de lisibilité :
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;
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!