Skip to content

6.4 — Attention aux doublons lors des jointures

Ce que vous apprendrez

  • Pourquoi la jointure de tables peut créer des lignes en double
  • Comment diagnostiquer et prévenir les doublons indésirables
  • Bonnes pratiques pour des jointures sûres

Tables d'exemple

Table sales:

SaleIDProductIDAmount
1101120
210280
310150
410390

Table products:

ProductIDProductName
101Apples
101Apples
102Oranges
103Bananas

Pourquoi les doublons se produisent-ils ?

Lorsque vous joignez des tables en SQL, chaque ligne de la première table est associée à chaque ligne de la seconde table qui répond à la condition de jointure.
Si l'une des tables a des valeurs en double dans la colonne de jointure, vous pouvez obtenir plus de lignes que prévu.

Exemple :

Supposons que votre table sales ait plusieurs ventes pour le même ProductID, et que votre table products ait également des valeurs ProductID en double (peut-être en raison d'erreurs de saisie de données) :

sql
SELECT s.SaleID, p.ProductID, p.ProductName, s.Amount
FROM sales s
INNER JOIN products p
  ON s.ProductID = p.ProductID;
  • Si products a deux lignes pour le même ProductID, chaque vente pour ce produit apparaîtra deux fois dans le résultat.

Comment diagnostiquer les doublons

  • Vérifiez les doublons dans vos colonnes de jointure avant de joindre :
sql
SELECT ProductID, COUNT(*)
FROM products
GROUP BY ProductID
HAVING COUNT(*) > 1;
  • Si cela renvoie des lignes, vous avez des clés en double dans products.

Comment prévenir ou gérer les doublons

  • Demander à corriger le problème de qualité de données en supprimant les doublons dans la table sources.
  • Assurez-vous que vos colonnes de jointure sont des identifiants uniques (clés primaires) dans au moins une table.
  • En option: Utilisez SELECT DISTINCT après votre jointure pour supprimer les résultats en double (mais cela a seulement masqué des problèmes de qualité de données sous-jacents).

Points clés

  • Les doublons dans les colonnes de jointure peuvent multiplier vos lignes de résultats de manière inattendue.
  • Vérifiez toujours vos données pour les doublons avant de joindre.
  • Utilisez des clés uniques pour des jointures fiables.

Prochaines étapes

Maintenant que vous comprenez les risques des doublons, vous êtes prêt à joindre des tables en toute confiance et à construire des analyses SQL robustes.