Maison > base de données > tutoriel mysql > Comment puis-je simuler une jointure extérieure complète dans MySQL?

Comment puis-je simuler une jointure extérieure complète dans MySQL?

Susan Sarandon
Libérer: 2025-01-25 13:42:11
original
590 Les gens l'ont consulté

How Can I Simulate a FULL OUTER JOIN in MySQL?

Simuler FULL OUTER JOIN dans MySQL

MySQL lui-même ne prend pas en charge FULL OUTER JOIN. Cependant, vous pouvez le simuler en utilisant une combinaison d'opérateurs LEFT JOIN, RIGHT JOIN et set.

JOINTION EXTERNE COMPLÈTE LIMITÉE

Pour les cas où FULL OUTER JOIN ne produit pas de lignes en double, vous pouvez utiliser :

<code class="language-sql">SELECT * 
FROM t1
LEFT JOIN t2 
ON t1.id = t2.id
UNION
SELECT * 
FROM t1
RIGHT JOIN t2 
ON t1.id = t2.id</code>
Copier après la connexion

L'opérateur UNION élimine les lignes en double introduites par ce modèle de requête.

JOINTION EXTERNE COMPLÈTE générale

Dans le cas courant où des lignes en double peuvent se produire, utilisez :

<code class="language-sql">SELECT * 
FROM t1
LEFT JOIN t2 
ON t1.id = t2.id
UNION ALL
SELECT * 
FROM t1
RIGHT JOIN t2 
ON t1.id = t2.id
WHERE t1.id IS NULL</code>
Copier après la connexion

L'opérateur UNION ALL combine les résultats de deux JOIN, et la clause WHERE supplémentaire garantit que seules les lignes avec t1.id NULL (ne correspondant pas dans LEFT JOIN) sont ajoutées au résultat final, éliminant ainsi les doublons.

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