Kom igångKom igång gratis

Jämföra namn med SOUNDEX()

Felstavade strängar som 'Ilynois' i stället för 'Illinois' kan ställa till problem vid dataanalys. Därför är det viktigt att kunna identifiera dem.

När du analyserar tabellen flight_statistics märker du att vissa statistician_name och statistician_surname är skrivna på olika sätt, till exempel Miriam Smith och Myriam Smyth. Du misstänker att det finns fler sådana avvikelser och vill kontrollera alla namn.

Du bestämmer dig för att använda SOUNDEX() för att jämföra statistikernas namn. Om SOUNDEX() ger samma resultat men de jämförda texterna skiljer sig åt, har du hittat de data som behöver rensas.

Den här övningen är en del av kursen

Rensa data i SQL Server-databaser

Visa kurs

Övningsinstruktioner

  • Välj de distinkta värdena i kolumnerna statistician_name och statistician_surname från S1.
  • Gör en inner join med tabellen flight_statistics som S2 på förnamn och efternamn som låter likadant med hjälp av SOUNDEX().
  • Filtrera bort värden där kolumnerna statistician_name och statistician_surname skiljer sig åt mellan S1 och S2.

Interaktiv övning med praktiskt arbete

Testa den här övningen genom att slutföra den här exempelkoden.

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.___
Redigera och kör kod