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
Instructions de l’exercice
- Sélectionnez les valeurs distinctes des colonnes
statistician_nameetstatistician_surnameà partir deS1. - Faites une jointure interne de la table
flight_statisticssous l'aliasS2sur les prénoms et noms qui sonnent de façon similaire à l'aide deSOUNDEX(). - Excluez les valeurs où les colonnes
statistician_nameetstatistician_surnamediffèrent entreS1etS2, 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.___