Maison > base de données > tutoriel mysql > Comment joindre efficacement quatre tables SQL à l'aide d'ID partagés ?

Comment joindre efficacement quatre tables SQL à l'aide d'ID partagés ?

Linda Hamilton
Libérer: 2025-01-14 07:27:44
original
494 Les gens l'ont consulté

How to Efficiently Join Four SQL Tables Using Shared IDs?

Connexion de plusieurs tables SQL via des identifiants partagés

Travailler avec des bases de données relationnelles nécessite souvent de combiner les données de plusieurs tables. Cela implique de joindre des tables basées sur des colonnes communes. Ce guide montre comment joindre efficacement quatre tables (TableA, TableB, TableC et TableD) à l'aide de leurs identifiants respectifs.

Structures des tableaux :

  • TableauA :aide | nomA | fait
  • TableB :bID | nomB | IDC | aide
  • TableC :cID | nomC | date
  • TableD :dID | nomD

Jointure initiale (tableaux A, B et C) :

Une méthode courante pour joindre les tables A et C via la table B utilise les colonnes partagées « aID » et « cID » :

<code class="language-sql">SELECT TableA.*, TableB.*, TableC.*
FROM (TableB INNER JOIN TableA ON TableB.aID = TableA.aID)
INNER JOIN TableC ON TableB.cID = TableC.cID
WHERE DATE(TableC.date) = DATE('now()')</code>
Copier après la connexion

Ajout de TableD à la jointure :

Joindre directement TableD à la requête initiale est problématique en raison de l'absence de colonne partagée. La solution est d'ajouter une autre condition de jointure :

<code class="language-sql">SELECT TableA.*, TableB.*, TableC.*, TableD.*
FROM TableA
JOIN TableB ON TableB.aID = TableA.aID
JOIN TableC ON TableC.cID = TableB.cID
JOIN TableD ON TableD.dID = TableA.dID
WHERE DATE(TableC.date) = DATE('now()')</code>
Copier après la connexion

Cette requête améliorée connecte les quatre tables à l'aide de leurs colonnes d'ID partagées. Notez la lisibilité améliorée obtenue grâce à un formatage et une indentation appropriés.

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