"Si un ouvrier veut bien faire son travail, il doit d'abord affûter ses outils." - Confucius, "Les Entretiens de Confucius. Lu Linggong"
Page de garde > La programmation > Comment puis-je utiliser les jointures de gauche pour récupérer des données de personne et de peur de trois tables MySQL?

Comment puis-je utiliser les jointures de gauche pour récupérer des données de personne et de peur de trois tables MySQL?

Publié le 2025-02-26
Parcourir:346

How Can I Use LEFT JOINs to Retrieve Person and Fear Data from Three MySQL Tables?

mysql gauche jointer trois tableaux pour des personnes effrayantes

pour récupérer une liste d'individus avec leurs craintes associées, vous devez fusionner de manière transparente trois tables interconnectées :

  • personnes : inclut des informations essentielles sur les individus, tels que leur personId , name , et ss (numéro de sécurité sociale).
  • crain attribué un ceurID .
  • Person_fear : Sert de pont entre les individus et les craintes, avec id , personId , et fearId .

Modification de votre gauche Jointer query

Votre première tentative de création d'un jointure de gauche a rencontré un problème. La condition de jointure spécifiée,

Person_fear.personid = Person_fear.Fearid , ne s'aligne pas avec la relation souhaitée entre les tables. Pour lier correctement la table Persons à la table peurs via l'intermédiaire person_fear , utilisez ce code modifié:

select personnes.Name, Persons .SS, craintes. Des personnes À gauche Rejoignez Person_Fear Intérieur rejoint les peurs Sur person_fear.fearid = peurs.fearid Sur person_fear.personid = Persons.PersonId
SELECT Persons.Name, Persons.SS, Fears.Fear
FROM Persons
LEFT JOIN Person_Fear
    INNER JOIN Fears
    ON Person_Fear.FearID = Fears.FearID
ON Person_Fear.PersonID = Persons.PersonID

Explication de la requête modifiée

  • Left fusionne le Personnes ] table avec le tableau person_fear , où chaque individu personId est assorti à la personne correspondante personId dans person_fear . Cela garantit que chaque personne est incluse dans les résultats, même si elle n'a pas de craintes associées.
  • Une
  • join inner lie la table personne_féar Tableau basé sur la colonne FearId . Cette opération récupère uniquement les craintes qui sont explicitement connectées aux individus via la table person_fear . les clauses sur
  • garantir que le
  • personId dans les TABLE PERSONS correspond au personId dans le Person_fear table, qui à son tour correspond à la table craintID dans la table peurs .
  • Syntax de requête alternative

Une autre façon d'écrire la requête de jointure de gauche est:

select Persons.Name, Persons.ss, FearS.Fear Des personnes À gauche rejoindre Person_Fear sur Person_fear.personid = Persons.Sersonid La gauche jointure de Fears sur Person_fear.Fearid = FearS.Fearid

Cette syntaxe est tout aussi efficace pour récupérer les données souhaitées, en utilisant deux jointures gauche pour connecter les tableaux.
            
Dernier tutoriel Plus>

Clause de non-responsabilité: Toutes les ressources fournies proviennent en partie d'Internet. En cas de violation de vos droits d'auteur ou d'autres droits et intérêts, veuillez expliquer les raisons détaillées et fournir une preuve du droit d'auteur ou des droits et intérêts, puis l'envoyer à l'adresse e-mail : [email protected]. Nous nous en occuperons pour vous dans les plus brefs délais.

Copyright© 2022 湘ICP备2022001581号-3