Sqlserver
 sql >> Base de Dados >  >> RDS >> Sqlserver

Como obter registros distintos de uma tabela no SQL Server - SQL Server / TSQL Tutorial 112

Cenário:

Você está trabalhando como desenvolvedor do SQL Server, precisa obter registros distintos (diferentes) de uma tabela. Qual instrução você usará para obter registros exclusivos de uma tabela.


Solução:

Select distinct pode ser usado para obter diferentes registros de uma tabela. A sintaxe para Selecionar distinto é

Selecionar distinta Coluna1, Coluna2, Coluna3.... de SchemaName.TableName.

Vamos criar uma tabela de amostra dbo.Customer e, em seguida, inserir registros de teste usando as instruções abaixo.

--Create dbo.Customer table
Create table dbo.Customer(
Id int,
Name VARCHAR(10),
Address VARCHAR(100))

--Insert records in dbo.Customer table
Insert into dbo.Customer
Values(1,'Aamir','XyZ Address')
,(2,'Raza',Null)
,(1,'Aamir','XyZ Address')
,(3,'John','XyZ Address')
 
 Como você pode ver, temos o registro duplicado 1,'Aamir','XyZ Address. Agora, se quisermos obter registros distintos desta tabela, podemos usar a consulta abaixo. Se todas as colunas estiverem envolvidas em sua seleção, você poderá usar * conforme mostrado abaixo ou digitar os nomes das colunas.

Select distinct * From dbo.Customer
 
OR
Select distinct ID,Name,Address From dbo.Customer
 
Como obter registros distintos da Tabela do SQL Server - Tutorial do SQL Server / TSQL
 
Como podemos ver que nossa consulta retornou registros distintos. Tínhamos registros duplicados na tabela, mas eles só são exibidos distintos, pois usamos Distinct em nossa instrução Select.

Você sempre pode executar distinct em uma ou mais colunas, se desejar. Se eu quiser obter apenas nomes distintos da tabela dbo.Customer, posso usar a consulta abaixo.

Select distinct Name From dbo.Customer
Como usar Distinct in Select query no SQL Server para obter registros distintos (diferença)