Sélection de deux tableaux dans MySQL avec des correspondants manquants
pour récupérer des données à partir de deux tableaux dans MySQL et manipuler les cas où toutes les lignes ne sont pas dans un tableau ont des lignes correspondantes dans l'autre, vous pouvez utiliser un examen extérieur. Cette approche diffère de la méthode de jointure implicite obsolète et offre une plus grande flexibilité.
Considérez l'exemple suivant:
Vous avez deux tableaux, catégories (avec des colonnes ID et titre) et des produits (avec des colonnes ID, propriétaire, titre et prix, où les références de propriétaire ID dans le tableau des catégories et leur minimum). et les prix maximum, regroupés par ID de catégorie. Cependant, la requête actuelle exclut les catégories sans produits correspondants.
Pour résoudre ce problème, utilisez une jointure de gauche:
Sélectionner sc. *, Ifnull (min (s.price), 0) comme minp, Ifnull (max (s.price), 0) comme maxp Des catégories comme SC À gauche de joindre des produits comme s Sur s.ownerid = sc.id Groupe par sc.id
La jointure de gauche garantit que toutes les lignes de la table des catégories sont incluses, même s'il n'y a pas de lignes correspondantes dans la table de produits. La fonction IFNULL attribue 0 à MINP et MAXP pour les catégories sans produits, empêchant alternativement les valeurs nulles.
Clause de non-responsabilité: Toutes les ressources fournies proviennent en partie d'Internet. En cas de violation de vos droits d'auteur ou d'autres droits et intérêts, veuillez expliquer les raisons détaillées et fournir une preuve du droit d'auteur ou des droits et intérêts, puis l'envoyer à l'adresse e-mail : [email protected]. Nous nous en occuperons pour vous dans les plus brefs délais.
Copyright© 2022 湘ICP备2022001581号-3