Sélection de lignes avec des valeurs de colonne non distinctes
L'identification des lignes dans lesquelles une valeur de colonne spécifique n'est pas distincte peut être réalisée par diverses méthodes. Explorons deux approches pour atteindre ce résultat.
Méthode 1 : Utilisation d'une sous-requête
Cette approche consiste à sélectionner les valeurs de colonne distinctes qui apparaissent plusieurs fois dans le tableau. Les lignes avec ces valeurs peuvent ensuite être extraites à l'aide d'une clause IN :
SELECT [EmailAddress], [CustomerName] FROM [Customers] WHERE [EmailAddress] IN (SELECT [EmailAddress] FROM [Customers] GROUP BY [EmailAddress] HAVING COUNT(*) > 1)
Méthode 2 : Utilisation de l'opérateur EXISTS
Une méthode alternative consiste à utiliser l'opérateur EXISTS , vérifiant l'existence de valeurs en double dans une sous-requête :
SELECT [EmailAddress], [CustomerName] FROM [Customers] WHERE EXISTS (SELECT * FROM [Customers] AS T2 WHERE T2.[EmailAddress] = T1.[EmailAddress] AND T2.[CustomerName] <> T1.[CustomerName])
Performance Considérations
Bien que les deux méthodes produisent le résultat souhaité, l'approche par sous-requête est généralement plus rapide que l'utilisation d'EXISTS. Par conséquent, il est recommandé pour les grands ensembles de données d’optimiser les performances.
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!