Comment supprimer des lignes en double d'une table SQL Server?



Essayez Notre Instrument Pour Éliminer Les Problèmes

Lors de la conception d'objets dans SQL Server, nous devons suivre certaines meilleures pratiques. Par exemple, une table doit avoir des clés primaires, des colonnes d'identité, des index clusterisés et non clusterisés, l'intégrité des données et des contraintes de performances. La table SQL Server ne doit pas contenir de lignes dupliquées conformément aux meilleures pratiques de conception de base de données. Parfois, cependant, nous devons traiter des bases de données où ces règles ne sont pas suivies ou où des exceptions sont possibles lorsque ces règles sont intentionnellement contournées. Même si nous suivons les meilleures pratiques, nous pouvons être confrontés à des problèmes tels que la duplication de lignes.



Par exemple, nous pourrions également obtenir ce type de données lors de l'importation de tables intermédiaires, et nous aimerions supprimer les lignes redondantes avant de les ajouter réellement dans les tables de production. De plus, nous ne devons pas laisser la perspective de dupliquer des lignes car les informations dupliquées permettent un traitement multiple des demandes, des résultats de rapport incorrects, etc. Cependant, si nous avons déjà des lignes en double dans la colonne, nous devons suivre des méthodes spécifiques pour nettoyer les données en double. Examinons dans cet article quelques moyens de supprimer la duplication de données.



Le tableau contenant des lignes en double



Comment supprimer des lignes en double d'une table SQL Server?

Il existe plusieurs façons dans SQL Server de gérer les enregistrements en double dans une table en fonction de circonstances particulières telles que:

Suppression des lignes en double d'une table SQL Server d'index unique

Vous pouvez utiliser l'index pour classer les données en double dans des tables d'index uniques, puis supprimer les enregistrements en double. Premièrement, nous devons créer une base de données nommé 'test_database', puis créez une table ' Employé ”Avec un index unique en utilisant le code ci-dessous.

USE master GO CREATE DATABASE test_database GO USE [test_database] GO CREATE TABLE Employé ([ID] INT NOT NULL IDENTITY (1,1), [Dep_ID] INT, [Name] varchar (200), [email] varchar (250) NULL , [city] varchar (250) NULL, [address] varchar (500) NULL CONSTRAINT Primary_Key_ID PRIMARY KEY (ID))

La sortie sera comme ci-dessous.



Création de la table «Employé»

Insérez maintenant les données dans le tableau. Nous insérerons également des lignes en double. Les «Dep_ID» 003 005 et 006 sont des lignes en double avec des données similaires dans tous les champs, à l'exception de la colonne d'identité avec un index de clé unique. Exécutez le code ci-dessous.

USE [test_database] GO INSERT INTO Employee (Dep_ID, Name, email, city, address) VALUES (001, 'Aaaronboy Gutierrez