Récupération de données Microsoft Access : scénarios d'application d'INNER JOIN et UNION
Dans une base de données Microsoft Access, vous devrez peut-être récupérer des données de plusieurs tables avec des relations associées. Ceci peut être réalisé avec INNER JOIN ou UNION, la méthode que vous choisissez dépend de vos besoins spécifiques.
INNER JOIN (connexion interne)
INNER JOIN est utilisé pour récupérer des enregistrements avec des lignes correspondantes de plusieurs tables, en fonction de critères spécifiés. Par exemple, vous devez récupérer les données des tables tbl_facilitators
et tbl_facilitatorClasses
, en fonction respectivement des colonnes primeFacil
et secondFacil
.
INNER JOIN utilise le mot-clé ON
pour spécifier les conditions de correspondance. Voici un exemple de requête :
<code class="language-sql">SELECT tbl_facilitatorClasses.className, tbl_facilitators.facilLname, tbl_facilitators.facilFname FROM tbl_facilitatorClasses INNER JOIN tbl_facilitators ON tbl_facilitatorClasses.primeFacil = tbl_facilitators.facilID;</code>
Cette requête récupère le nom du cours, le nom de famille et le prénom de l'instructeur principal pour les enregistrements dont la valeur tbl_facilitatorClasses
dans primeFacil
correspond à la valeur tbl_facilitators
dans facilID
.
UNION
UNION combine les résultats de deux requêtes ou plus en un seul ensemble de résultats. Dans cet exemple, vous utilisez UNION pour récupérer séparément les données des conseillers principal et secondaire. Cependant, vous devez combiner manuellement les résultats pour créer le résultat souhaité.
Solution
Afin de récupérer les données du conseiller principal et secondaire dans le format souhaité, plusieurs INNER JOIN sont nécessaires. La requête dans la solution que vous avez fournie est correcte :
<code class="language-sql">SELECT tblCLS.className, tblP.facilLname, tblP.facilFname, tblS.facilLname, tblS.facilFname FROM (tbl_facilitatorClasses AS tblCLS INNER JOIN tbl_facilitators AS tblP ON tblCLS.primeFacil=tblP.facilID) INNER JOIN tbl_facilitators AS tblS ON tblCLS.secondFacil=tblS.facilID;</code>
Cette requête utilise des parenthèses pour entourer le premier INNER JOIN afin de garantir le bon ordre des opérations et en faisant correspondre les colonnes tbl_facilitatorClasses
et primeFacil
de secondFacil
à la colonne tbl_facilitators
de facilID
pour récupérer la sortie requise pour les conseillers primaires et secondaires.
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!