É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
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!