Sqlserver
 sql >> Base de données >  >> RDS >> Sqlserver

Comment obtenir des enregistrements distincts à partir d'une table dans SQL Server - Tutoriel SQL Server / TSQL 112

Scénario :

Vous travaillez en tant que développeur SQL Server, vous devez obtenir des enregistrements distincts (différents) d'une table. Quelle instruction utiliserez-vous pour obtenir des enregistrements uniques à partir d'une table.


Solution :

Select distinct peut être utilisé pour obtenir différents enregistrements d'une table. La syntaxe de Select distinct est

Select distinct Column1,Column2, Column3.... from SchemaName.TableName.

Créons un exemple de table dbo.Customer, puis insérons des enregistrements de test en utilisant les instructions ci-dessous.

--Create dbo.Customer tableCreate table dbo.Customer(Id int,Name VARCHAR(10),Address VARCHAR(100))--Insert records in dbo. Table clientInsérer dans dbo.CustomerValues(1,'Aamir','XyZ Address'),(2,'Raza',Null),(1,'Aamir','XyZ Address'),(3,'John',' Adresse XyZ')
 
 Comme vous pouvez le voir, nous avons un enregistrement en double 1, 'Aamir', 'adresse XyZ. Maintenant, si nous souhaitons obtenir des enregistrements distincts de cette table, nous pouvons utiliser la requête ci-dessous. Si toutes les colonnes sont impliquées dans votre sélection, vous pouvez utiliser * comme indiqué ci-dessous ou saisir les noms des colonnes.

Select distinct * From dbo.Customer
 
OU
Sélectionner un identifiant, un nom et une adresse distincts de dbo.Customer
 
Comment obtenir des enregistrements distincts de la table SQL Server - Tutoriel SQL Server / TSQL
 
Comme nous pouvons le voir, notre requête a renvoyé des enregistrements distincts. Nous avions des enregistrements en double dans la table, mais ils s'affichent uniquement distincts, car nous avons utilisé Distinct dans notre instruction Select.

Vous pouvez toujours exécuter distinct sur une ou plusieurs colonnes si vous le souhaitez. Si je veux obtenir uniquement des noms distincts de la table dbo.Customer, je peux utiliser la requête ci-dessous.

Sélectionner un nom distinct à partir de dbo.Customer
Comment utiliser Distinct dans la requête Select dans SQL Server pour obtenir des enregistrements distincts (différence)