Comprendre les limites de FULL JOIN de MySQL
Dans MySQL, contrairement à certaines autres bases de données relationnelles, il n'y a pas de support direct pour l'opération FULL JOIN . Cela signifie qu'obtenir le résultat souhaité indiqué dans la question nécessite une approche différente.
Émuler un FULL JOIN dans MySQL
Pour émuler un FULL JOIN dans MySQL, le recommandé La solution de contournement implique une combinaison de LEFT JOIN et de RIGHT JOIN. Voici comment procéder :
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 produit effectivement le produit cartésien des deux tables (t_13 et t_17), puis filtre les lignes où les deux valeurs sont NULL. Le résultat est un tableau qui inclut toutes les lignes des deux tableaux, même celles sans valeurs correspondantes dans l'autre tableau, garantissant que toutes les combinaisons possibles sont représentées.
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!