Namen mit SOUNDEX() vergleichen
Unsaubere Strings wie 'Ilynois' statt 'Illinois' können bei der Datenanalyse Probleme machen. Deshalb ist es wichtig, sie zu erkennen.
Bei der Analyse der Tabelle flight_statistics fällt dir auf, dass einige statistician_name und statistician_surname unterschiedlich geschrieben sind, zum Beispiel Miriam Smith und Myriam Smyth. Du vermutest, dass es noch mehr solcher Unterschiede gibt, und möchtest deshalb alle diese Namen überprüfen.
Du überlegst, die Namen der Statistiker:innen mit SOUNDEX() zu vergleichen. Wenn das Ergebnis von SOUNDEX() gleich ist, die verglichenen Texte aber unterschiedlich sind, findest du die Daten, die du bereinigen musst.
Diese Übung ist Teil des Kurses
Datenbereinigung in SQL Server-Datenbanken
Anleitung zur Übung
- Wähle die unterschiedlichen Werte der Spalten
statistician_nameundstatistician_surnameausS1. - Führe einen INNER JOIN der Tabelle
flight_statisticsalsS2auf ähnlich klingende Vor- und Nachnamen mitSOUNDEX()aus. - Filtere Werte heraus, bei denen
statistician_namebzw.statistician_surnameinS1undS2jeweils voneinander abweichen.
Interaktive Übung
Vervollständige den Beispielcode, um diese Übung erfolgreich abzuschließen.
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.___