Maison >base de données >tutoriel mysql >Comment simuler une FULL OUTER JOIN dans Microsoft Access ?

Comment simuler une FULL OUTER JOIN dans Microsoft Access ?

Mary-Kate Olsen
Mary-Kate Olsenoriginal
2025-01-16 17:29:10762parcourir

How to Simulate a FULL OUTER JOIN in Microsoft Access?

Écrire une requête de jointure externe complète dans Access

Question :

Vous avez une requête dans un autre système de base de données qui utilise une jointure externe complète. Comment puis-je convertir cette requête en une requête compatible avec Microsoft Access ?

Description du problème :

Access n'a pas de syntaxe directe FULL OUTER JOIN. Une jointure externe complète renvoie toutes les lignes des deux tables, même s'il n'y a aucune ligne correspondante dans l'autre table.

Solution :

Pour implémenter une jointure externe complète dans Access, vous pouvez utiliser une combinaison d'instructions UNION et LEFT/RIGHT JOIN :

<code class="language-sql">SELECT *
FROM AA
LEFT JOIN BB ON AA.C_ID = BB.C_ID
UNION
SELECT *
FROM AA
RIGHT JOIN BB ON AA.C_ID = BB.C_ID</code>

Autres notes :

  • S'il y a des lignes en double dans l'une ou l'autre des tables, vous devrez peut-être ajouter une clause WHERE pour filtrer les lignes supplémentaires.
  • Si le champ C_ID dans les deux tables peut être nul, vous pouvez utiliser une approche plus performante mais plus détaillée :
<code class="language-sql">SELECT *
FROM AA
JOIN BB ON AA.C_ID = BB.C_ID
UNION ALL
SELECT *
FROM AA
LEFT JOIN BB ON AA.C_ID = BB.C_ID
WHERE BB.C_ID IS NULL
UNION ALL
SELECT *
FROM AA
RIGHT JOIN BB ON AA.C_ID = BB.C_ID
WHERE AA.C_ID IS NULL</code>

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