Maison >base de données >tutoriel mysql >Comment JOINDRE À GAUCHE correctement trois tables dans MySQL ?

Comment JOINDRE À GAUCHE correctement trois tables dans MySQL ?

Mary-Kate Olsen
Mary-Kate Olsenoriginal
2024-12-26 01:25:09301parcourir

How to Correctly LEFT JOIN Three Tables in MySQL?

Maîtriser MySQL LEFT JOIN : connecter trois tables

Lorsque vous travaillez avec plusieurs tables dans une base de données MySQL, il est crucial de comprendre comment les joindre efficacement. Un défi courant consiste à relier les enregistrements de trois tables ou plus.

Prenons l'exemple fourni : nous avons trois tables – Persons, Fears et Person_Fear – et l'objectif est d'afficher toutes les personnes ainsi que toutes les peurs associées (ou l'absence de peurs).

Exemple LEFT JOIN incorrect

Le code initial fourni contient une erreur dans la condition LEFT JOIN. La ligne :

ON person_fear.personid = person_fear.fearid

Joint incorrectement Person_Fear.PersonID à Person_Fear.FearID, ce qui n'a aucun sens.

Corriger l'implémentation de LEFT JOIN

Pour correctement rejoindre les tables, nous devons modifier la condition à :

ON Person_Fear.PersonID = Persons.PersonID

Cela lie Person_Fear.PersonID au champ approprié dans la table Personnes.

Syntaxe alternative LEFT JOIN

Une autre approche valide au même LEFT JOIN consiste à utiliser la syntaxe suivante :

LEFT JOIN Person_Fear ON Person_Fear.PersonID = Persons.PersonID
LEFT JOIN Fears ON Person_Fear.FearID = Fears.FearID

Cette syntaxe spécifie explicitement le LEFT JOIN entre Persons et Person_Fear, suivi d'un autre LEFT JOIN entre Person_Fear et Fears.

Requête résultante

Avec l'une ou l'autre de ces approches corrigées, la requête renverra tous enregistrements de la table Personnes, même ceux qui n'ont aucune peur associée dans les tables Person_Fear et Fears. Pour chaque personne, il affichera la ou les peurs associées ou NULL si aucune peur n'y est liée.

En comprenant le bon usage de LEFT JOIN, vous pouvez interroger efficacement plusieurs tables et récupérer les résultats souhaités pour les relations de données complexes dans votre base de données MySQL.

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