Aan de slagGa gratis aan de slag

Namen vergelijken met SOUNDEX()

Rommelige strings zoals 'Ilynois' in plaats van 'Illinois' kunnen problemen veroorzaken bij het analyseren van data. Daarom is het belangrijk om ze te detecteren.

Bij het analyseren van de tabel flight_statistics merk je dat sommige statistician_name en statistician_surname anders zijn geschreven, zoals Miriam Smith en Myriam Smyth. Je bent bang dat er meer van dit soort verschillen zijn, dus je wilt al deze namen controleren.

Je overweegt om met SOUNDEX() de namen van de statistici te vergelijken. Als de uitkomst van SOUNDEX() hetzelfde is, maar de vergeleken teksten verschillend zijn, vind je de data die je moet opschonen.

Deze oefening maakt deel uit van de cursus

Gegevens opschonen in SQL Server-databases

Cursus bekijken

Oefeninstructies

  • Selecteer de unieke waarden van de kolommen statistician_name en statistician_surname uit S1.
  • Voer een INNER JOIN uit met de tabel flight_statistics als S2 op gelijk klinkende voornamen en achternamen met SOUNDEX().
  • Filter waarden weg waarvoor de kolommen statistician_name en statistician_surname respectievelijk in S1 en S2 van elkaar verschillen.

Praktische interactieve oefening

Probeer deze oefening eens door deze voorbeeldcode in te vullen.

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.___
Code bewerken en uitvoeren