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

Comment joindre efficacement plusieurs tables dans MySQL ?

Susan Sarandon
Libérer: 2024-12-20 14:47:16
original
677 Les gens l'ont consulté

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;
Copier après la connexion

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;
Copier après la connexion

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;
Copier après la connexion

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!

source:php.cn
Déclaration de ce site Web
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
Derniers articles par auteur
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal