Namen mit DIFFERENCE() vergleichen
In der vorherigen Übung hast du SOUNDEX() verwendet, um die Namen der Statistiker aus der Tabelle flight_statistics zu prüfen.
Diesmal möchtest du etwas Ähnliches mit der Funktion DIFFERENCE() machen. DIFFERENCE() liefert 4, wenn zwei Zeichenketten ähnlich oder identisch klingen, und 0, wenn kaum oder keine Ähnlichkeit besteht.
Wenn das Ergebnis von DIFFERENCE() zwischen zwei Strings 4 ist, die verglichenen Texte aber unterschiedlich sind, findest du genau 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 Vornamen und Nachnamen durch, und zwar für Fälle, bei denen dieDIFFERENCEder jeweiligen Spalten beider Tabellen 4 ist. - Filtere die Werte heraus, bei denen sich
statistician_namebzw.statistician_surnameinS1undS2unterscheiden.
Interaktive Übung
Vervollständige den Beispielcode, um diese Übung erfolgreich abzuschließen.
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.___