sql >> Base de Datos >  >> RDS >> Sqlserver

Cómo obtener registros distintos de una tabla en SQL Server - SQL Server / TSQL Tutorial 112

Escenario:

Está trabajando como desarrollador de SQL Server, necesita obtener registros distintos (diferentes) de una tabla. ¿Qué declaración usará para obtener registros únicos de una tabla?


Solución:

Seleccionar distinto se puede usar para obtener diferentes registros de una tabla. La sintaxis para Seleccionar distinto es

Seleccionar distinto Columna 1, Columna 2, Columna 3.... de SchemaName.TableName.

Vamos a crear una tabla dbo.Customer de muestra y luego insertar registros de prueba usando las siguientes declaraciones.

--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 puede ver, tenemos el registro duplicado 1, 'Aamir', 'Dirección XyZ. Ahora, si deseamos obtener registros distintos de esta tabla, podemos usar la siguiente consulta. Si todas las columnas están involucradas en su selección, puede usar * como se muestra a continuación o escribir los nombres de las columnas.

Select distinct * From dbo.Customer
 
OR
Select distinct ID,Name,Address From dbo.Customer
 
Cómo obtener registros distintos de la tabla de SQL Server - Tutorial de SQL Server / TSQL
 
Como podemos ver, nuestra consulta devolvió registros distintos. Teníamos registros duplicados en la tabla, pero solo se muestran distintos, ya que hemos usado Distinct en nuestra instrucción Select.

Siempre puede ejecutar distintos en una o más columnas, si lo desea. Si quiero obtener solo nombres distintos de la tabla dbo.Customer, puedo usar la siguiente consulta.

Select distinct Name From dbo.Customer
Cómo usar Distinct in Select query en SQL Server para obtener registros distintos (diferencias)