Namen vergelijken met DIFFERENCE()
In de vorige oefening gebruikte je SOUNDEX() om de namen van de statistici uit de tabel flight_statistics te controleren.
Nu wil je iets soortgelijks doen, maar met de functie DIFFERENCE(). DIFFERENCE() geeft 4 terug wanneer er een gelijke of sterk vergelijkbare overeenkomst is tussen twee strings, en 0 wanneer er weinig of geen overeenkomst is.
Als het resultaat van DIFFERENCE() tussen twee strings 4 is, maar de teksten die je vergelijkt verschillend zijn, vind je de gegevens die je moet opschonen.
Deze oefening maakt deel uit van de cursus
Gegevens opschonen in SQL Server-databases
Oefeninstructies
- Selecteer de unieke waarden van de kolommen
statistician_nameenstatistician_surnameuitS1. - Voer een INNER JOIN uit van de tabel
flight_statisticsalsS2op gelijk klinkende voornamen en achternamen in gevallen waar deDIFFERENCEtussen de kolommen van elke tabel 4 is. - Filter waarden eruit waarbij de kolommen
statistician_nameenstatistician_surnamerespectievelijk inS1enS2van elkaar verschillen.
Praktische interactieve oefening
Probeer deze oefening eens door deze voorbeeldcode in te vullen.
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.___