Como remover linhas duplicadas de uma tabela do SQL Server?



Experimente Nosso Instrumento Para Eliminar Problemas

Ao projetar objetos no SQL Server, devemos seguir certas práticas recomendadas. Por exemplo, uma tabela deve ter chaves primárias, colunas de identidade, índices agrupados e não agrupados, integridade de dados e restrições de desempenho. A tabela do SQL Server não deve conter linhas duplicadas de acordo com as práticas recomendadas no design do banco de dados. Às vezes, no entanto, precisamos lidar com bancos de dados onde essas regras não são seguidas ou onde as exceções são possíveis quando essas regras são contornadas intencionalmente. Mesmo que estejamos seguindo as melhores práticas, podemos enfrentar problemas como linhas duplicadas.



Por exemplo, também podemos obter esse tipo de dados ao importar tabelas intermediárias e gostaríamos de excluir as linhas redundantes antes de realmente adicioná-las às tabelas de produção. Além disso, não devemos deixar a perspectiva de duplicar linhas porque as informações duplicadas permitem o tratamento múltiplo de solicitações, relatórios de resultados incorretos e muito mais. No entanto, se já temos linhas duplicadas na coluna, precisamos seguir métodos específicos para limpar os dados duplicados. Vejamos algumas maneiras neste artigo de remover a duplicação de dados.



A tabela contendo linhas duplicadas



Como remover linhas duplicadas de uma tabela do SQL Server?

Existem várias maneiras no SQL Server de lidar com registros duplicados em uma tabela com base em circunstâncias particulares, como:

Removendo linhas duplicadas de uma tabela de índice exclusivo do SQL Server

Você pode usar o índice para classificar os dados duplicados em tabelas de índice exclusivas e excluir os registros duplicados. Primeiro, precisamos criar um banco de dados chamado “test_database”, em seguida, crie uma tabela “ Empregado ”Com um índice exclusivo usando o código fornecido a seguir.

USE master GO CREATE DATABASE test_database GO USE [test_database] GO CREATE TABLE Funcionário ([ID] INT NOT NULL IDENTITY (1,1), [Dep_ID] INT, [Name] varchar (200), [email] varchar (250) NULL , [cidade] varchar (250) NULL, [endereço] varchar (500) NULL CONSTRAINT Chave_primária_ID CHAVE PRIMÁRIA (ID))

A saída será como abaixo.



Criando a tabela “Funcionário”

Agora insira os dados na tabela. Vamos inserir linhas duplicadas também. O “Dep_ID” 003.005 e 006 são linhas duplicadas com dados semelhantes em todos os campos, exceto a coluna de identidade com um índice de chave exclusivo. Execute o código fornecido abaixo.

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