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
Instructions
- Sélectionnez les valeurs distinctes des colonnes
statistician_nameetstatistician_surnamedepuisS1. - Faites une jointure interne de la table
flight_statisticsen tant queS2sur les prénoms et noms qui sonnent de manière similaire à l’aide deSOUNDEX(). - Excluez les valeurs où les colonnes
statistician_nameetstatistician_surnamesont différentes entreS1etS2, 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.___