Comparer des noms avec DIFFERENCE()
Dans l’exercice précédent, vous avez utilisé SOUNDEX() pour vérifier les noms des statisticiens de la table flight_statistics.
Cette fois, vous allez faire quelque chose de similaire, mais avec la fonction DIFFERENCE(). DIFFERENCE() renvoie 4 lorsqu’il existe une correspondance identique ou très proche entre deux chaînes, et 0 lorsqu’il y a peu ou pas de similarité.
Si le résultat de DIFFERENCE() entre deux chaînes est 4, mais que les textes comparés sont différents, vous identifierez des 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. - Effectuez une jointure interne de la table
flight_statisticsen tant queS2sur les prénoms et noms qui sonnent de façon similaire, dans les cas où laDIFFERENCEentre la colonne de chaque table est égale à 4. - 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 surnames of the statisticians
DISTINCT S1.___, S1.___
-- Join flight_statistics with itself
FROM ___ S1 INNER JOIN ___ S2
-- The DIFFERENCE of the first name and surname has to be equals to 4
ON ___(S1.___, S2.___) = 4
AND ___(S1.___, S2.___) = 4
-- The texts of the first name or the texts of the surname have to be different
WHERE S1.___ <> S2.___
OR S1.___ <> S2.___