ÎncepețiÎncepe gratuit

Compararea numelor cu SOUNDEX()

Șirurile de caractere incorecte, cum ar fi 'Ilynois' în loc de 'Illinois', pot crea probleme la analiza datelor. De aceea este important să le detectezi.

Analizând tabela flight_statistics, observi că unele valori din coloanele statistician_name și statistician_surname sunt scrise în moduri diferite, de exemplu Miriam Smith și Myriam Smyth. Te temi că există mai multe astfel de diferențe, așa că vrei să verifici toate aceste nume.

Te gândești să compari numele statisticienilor folosind SOUNDEX(). Dacă rezultatul funcției SOUNDEX() este același, dar textele comparate sunt diferite, vei găsi datele care trebuie curățate.

Acest exercițiu face parte din cursul

Curățarea datelor în bazele de date SQL Server

Vezi cursul

Instrucțiuni pentru exercițiu

  • Selectează valorile distincte din coloanele statistician_name și statistician_surname din S1.
  • Aplică un inner join pe tabela flight_statistics ca S2, pe baza numelor și prenumelor care sună similar, folosind SOUNDEX().
  • Filtrează valorile unde coloanele statistician_name și statistician_surname din S1 și S2 sunt diferite una față de cealaltă.

Exercițiu interactiv practic

Încearcă acest exercițiu completând acest cod de exemplu.

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.___
Editează și rulează codul