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
Övningsinstruktioner
- Välj de distinkta värdena i kolumnerna
statistician_nameochstatistician_surnamefrånS1. - Gör en inner join med tabellen
flight_statisticssomS2på förnamn och efternamn som låter likadant med hjälp avSOUNDEX(). - Filtrera bort värden där kolumnerna
statistician_nameochstatistician_surnameskiljer sig åt mellanS1ochS2.
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.___