Maison >base de données >tutoriel mysql >Comment joindre efficacement plusieurs tables dans MySQL ?

Comment joindre efficacement plusieurs tables dans MySQL ?

Susan Sarandon
Susan Sarandonoriginal
2024-12-20 14:47:16721parcourir

How to Efficiently Join Multiple Tables in MySQL?

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!

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