Zacznij terazZacznij za darmo

Porównywanie imion i nazwisk za pomocą SOUNDEX()

Nieprawidłowe ciągi znaków, takie jak 'Ilynois' zamiast 'Illinois', mogą powodować problemy podczas analizy danych. Dlatego tak ważne jest ich wykrywanie.

Analizując tabelę flight_statistics, zauważasz, że niektóre wartości w kolumnach statistician_name i statistician_surname są zapisane w różny sposób – na przykład Miriam Smith i Myriam Smyth. Obawiasz się, że podobnych różnic jest więcej, i chcesz je wszystkie sprawdzić.

Postanawiasz użyć funkcji SOUNDEX() do porównania imion i nazwisk statystyków. Jeśli wynik SOUNDEX() będzie taki sam, ale porównywane teksty będą się różnić, znajdziesz dane wymagające oczyszczenia.

To ćwiczenie jest częścią kursu

Czyszczenie danych w bazach danych SQL Server

Zobacz kurs

Instrukcje do ćwiczenia

  • Wybierz unikalne wartości kolumn statistician_name i statistician_surname z tabeli S1.
  • Wykonaj złączenie wewnętrzne (INNER JOIN) tabeli flight_statistics jako S2 na podstawie podobnie brzmiących imion i nazwisk, używając funkcji SOUNDEX().
  • Odfiltruj wiersze, w których wartości kolumn statistician_name i statistician_surname różnią się od siebie odpowiednio w tabelach S1 i S2.

Interaktywne ćwiczenie praktyczne

Spróbuj tego ćwiczenia, uzupełniając ten przykładowy kod.

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.___
Edytuj i uruchom kod