Jämföra namn med DIFFERENCE()
I föregående övning använde du SOUNDEX() för att kontrollera namnen på statistikerna i tabellen flight_statistics.
Den här gången vill du göra något liknande, men med funktionen DIFFERENCE(). DIFFERENCE() returnerar 4 när två strängar låter likadant eller är identiska, och 0 när likheterna är små eller obefintliga.
Om DIFFERENCE() returnerar 4 för två strängar men texterna du jämför är olika, har du hittat data som behöver rensas.
Den här övningen är en del av kursen
Rensa data i SQL Server-databaser
Övningsinstruktioner
- Välj de distinkta värdena i kolumnerna
statistician_nameochstatistician_surnamefrånS1. - Gör en inner join med tabellen
flight_statisticssomS2på likaljudande förnamn och efternamn, för de rader därDIFFERENCEmellan respektive tabells kolumn är 4. - Filtrera bort värden där kolumnerna
statistician_nameochstatistician_surnameskiljer sig från varandra iS1respektiveS2.
Interaktiv övning med praktiskt arbete
Testa den här övningen genom att slutföra den här exempelkoden.
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.___