Maison >base de données >tutoriel mysql >Comment puis-je effectuer une FULL OUTER JOIN dans MySQL ?

Comment puis-je effectuer une FULL OUTER JOIN dans MySQL ?

Mary-Kate Olsen
Mary-Kate Olsenoriginal
2025-01-09 20:46:44540parcourir

How Can I Perform a FULL OUTER JOIN in MySQL?

MySQL ne prend pas en charge FULL OUTER JOIN : une solution

Le FULL OUTER JOIN Standard SQL n'est pas directement pris en charge dans MySQL. L'instruction SQL fournie entraînera une erreur de syntaxe.

Approche alternative : combiner les jointures GAUCHE et DROITE

Pour obtenir l'équivalent d'un FULL OUTER JOIN dans MySQL, vous pouvez combiner les opérations LEFT JOIN et RIGHT JOIN en utilisant UNION. Cette approche fusionne efficacement les résultats des deux jointures pour inclure toutes les lignes des deux tables, en faisant correspondre lorsque cela est possible.

Exemple utilisant UNION :

<code class="language-sql">SELECT * FROM a
LEFT JOIN b ON a.id = b.id
UNION
SELECT * FROM a
RIGHT JOIN b ON a.id = b.id</code>

Cette requête effectue d'abord un LEFT JOIN (toutes les lignes de la table de gauche, a, et les lignes correspondantes de la table de droite, b). Ensuite, un RIGHT JOIN (toutes les lignes de la table de droite, b, et les lignes correspondantes de la table de gauche, a) est exécuté. Enfin, UNION combine les résultats, éliminant les lignes en double. Cela reflète efficacement la fonctionnalité d'un FULL OUTER JOIN.

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