CommencezCommencez gratuitement

Comparer des noms avec SOUNDEX()

Des chaînes brouillonnes comme 'Ilynois' au lieu de 'Illinois' peuvent poser problème lors de l'analyse des données. C'est pourquoi il est important de les détecter.

En analysant la table flight_statistics, vous constatez que certains statistician_name et statistician_surname sont écrits différemment, par exemple Miriam Smith et Myriam Smyth. Vous craignez qu'il y ait d'autres écarts de ce genre, donc vous voulez vérifier tous ces noms.

Vous songez à comparer les noms des statisticiennes et statisticiens avec SOUNDEX(). Si le résultat de SOUNDEX() est identique, mais que les textes comparés sont différents, vous repérerez les données à nettoyer.

Cette activité fait partie du cours

Nettoyer des données dans des bases de données SQL Server

Voir le cours

Instructions de l’exercice

  • Sélectionnez les valeurs distinctes des colonnes statistician_name et statistician_surname à partir de S1.
  • Faites une jointure interne de la table flight_statistics sous l'alias S2 sur les prénoms et noms qui sonnent de façon similaire à l'aide de SOUNDEX().
  • Excluez les valeurs où les colonnes statistician_name et statistician_surname diffèrent entre S1 et S2, respectivement.

Exercice interactif pratique

Essayez cet exercice en complétant ce code d’exemple.

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