CommencerCommencer gratuitement

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

Afficher le cours

Instructions

  • Sélectionnez les valeurs distinctes des colonnes statistician_name et statistician_surname depuis S1.
  • Effectuez une jointure interne de la table flight_statistics en tant que S2 sur les prénoms et noms qui sonnent de façon similaire, dans les cas où la DIFFERENCE entre la colonne de chaque table est égale à 4.
  • 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 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.___
Modifier et exécuter le code