Zacznij terazZacznij za darmo

Porównywanie nazw za pomocą DIFFERENCE()

W poprzednim ćwiczeniu używałeś(-aś) funkcji SOUNDEX() do sprawdzania imion i nazwisk statystyków z tabeli flight_statistics.

Tym razem chcesz zrobić coś podobnego, ale z użyciem funkcji DIFFERENCE(). Funkcja DIFFERENCE() zwraca wartość 4, gdy dwa ciągi znaków brzmią podobnie lub identycznie, natomiast 0, gdy podobieństwo jest niewielkie lub żadne.

Jeśli wynik DIFFERENCE() dla dwóch ciągów wynosi 4, ale porównywane teksty różnią się od siebie, masz sygnał, które dane wymagają 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 – dla rekordów, w których wartość DIFFERENCE między odpowiadającymi kolumnami obu tabel wynosi 4.
  • Odfiltruj rekordy, w których kolumny 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 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.___
Edytuj i uruchom kod