Maison > base de données > tutoriel mysql > le corps du texte

Comment émuler FULL JOIN dans MySQL ?

Susan Sarandon
Libérer: 2024-11-16 01:07:02
original
132 Les gens l'ont consulté

How to Emulate FULL JOIN in MySQL?

Émulation de FULL OUTER JOIN dans MySQL

Dans MySQL, FULL OUTER JOIN n'est pas directement pris en charge. Cependant, une solution de contournement peut être implémentée pour simuler sa fonctionnalité.

Une approche typique consiste à utiliser deux requêtes UNION ALL :

SELECT
  t_13.value AS val13,
  t_17.value AS val17
FROM
  t_13
LEFT JOIN
  t_17
ON
  t_13.value = t_17.value
UNION ALL
SELECT
  t_13.value AS val13,
  t_17.value AS val17
FROM
  t_13
RIGHT JOIN
  t_17
ON
  t_13.value = t_17.value
WHERE
  t_13.value IS NULL
ORDER BY
  COALESCE(val13, val17)
LIMIT 30
Copier après la connexion

Cette requête effectue initialement un LEFT JOIN, suivi d'un UNION ALL. avec un RIGHT JOIN. La condition WHERE garantit que les lignes ne correspondant pas dans LEFT JOIN sont incluses. Enfin, COALESCE est utilisé pour gérer les valeurs NULL.

En combinant ces étapes, MySQL peut émuler un FULL OUTER JOIN, permettant la récupération de toutes les lignes des deux tables, même si elles n'ont pas de valeurs correspondantes.

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