Namen vergelijken met SOUNDEX()
Rommelige strings zoals 'Ilynois' in plaats van 'Illinois' kunnen problemen veroorzaken bij het analyseren van data. Daarom is het belangrijk om ze te detecteren.
Bij het analyseren van de tabel flight_statistics merk je dat sommige statistician_name en statistician_surname anders zijn geschreven, zoals Miriam Smith en Myriam Smyth. Je bent bang dat er meer van dit soort verschillen zijn, dus je wilt al deze namen controleren.
Je overweegt om met SOUNDEX() de namen van de statistici te vergelijken. Als de uitkomst van SOUNDEX() hetzelfde is, maar de vergeleken teksten verschillend zijn, vind je de data die je moet opschonen.
Deze oefening maakt deel uit van de cursus
Gegevens opschonen in SQL Server-databases
Oefeninstructies
- Selecteer de unieke waarden van de kolommen
statistician_nameenstatistician_surnameuitS1. - Voer een INNER JOIN uit met de tabel
flight_statisticsalsS2op gelijk klinkende voornamen en achternamen metSOUNDEX(). - Filter waarden weg waarvoor de kolommen
statistician_nameenstatistician_surnamerespectievelijk inS1enS2van elkaar verschillen.
Praktische interactieve oefening
Probeer deze oefening eens door deze voorbeeldcode in te vullen.
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.___