CommencerCommencer gratuitement

Comparer des noms avec SOUNDEX()

Des chaînes mal écrites comme 'Ilynois' au lieu de 'Illinois' peuvent poser problème lors de l’analyse des données. Il est donc important de les détecter.

En analysant la table flight_statistics, vous constatez que certains statistician_name et statistician_surname sont orthographiés différemment, par exemple Miriam Smith et Myriam Smyth. Vous craignez qu’il y ait d’autres variantes de ce type, et vous souhaitez donc vérifier tous ces noms.

Vous envisagez de comparer les noms des statisticiens avec SOUNDEX(). Si le résultat de SOUNDEX() est identique mais que les textes diffèrent, vous identifierez les données à nettoyer.

Cet exercice fait partie du cours

Nettoyer des données dans des bases SQL Server

Afficher le cours

Instructions

  • Sélectionnez les valeurs distinctes des colonnes statistician_name et statistician_surname depuis S1.
  • Faites une jointure interne de la table flight_statistics en tant que S2 sur les prénoms et noms qui sonnent de manière similaire à l’aide de SOUNDEX().
  • Excluez les valeurs où les colonnes statistician_name et statistician_surname sont différentes entre S1 et S2, respectivement.

Exercice interactif pratique

Essayez cet exercice en complétant cet exemple de code.

SELECT 
    -- First name and surname of the statisticians
	DISTINCT S1.___, S1.___
-- Join flight_statistics with itself
FROM ___ S1 INNER JOIN ___ S2 
	-- The SOUNDEX result of the first name and surname have to be the same
	ON ___(S1.___) = ___(S2.___) 
	AND ___(S1.___) = ___(S2.___) 
-- The texts of the first name or the texts of the surname have to be different
WHERE S1.___ <> S2.___
	OR S1.___ <> S2.___
Modifier et exécuter le code