Compararea numelor cu DIFFERENCE()
În exercițiul anterior, ai folosit SOUNDEX() pentru a verifica numele statisticienilor din tabela flight_statistics.
De această dată, vrei să faci ceva similar, dar folosind funcția DIFFERENCE(). DIFFERENCE() returnează 4 atunci când există o potrivire similară sau identică între două șiruri de caractere și 0 atunci când există puțină sau nicio similitudine.
Dacă rezultatul DIFFERENCE() dintre două șiruri este 4, dar textele comparate sunt diferite, vei identifica datele care trebuie curățate.
Acest exercițiu face parte din cursul
Curățarea datelor în bazele de date SQL Server
Instrucțiuni pentru exercițiu
- Selectează valorile distincte ale coloanelor
statistician_nameșistatistician_surnamedinS1. - Realizează un inner join al tabelei
flight_statisticscaS2pe baza numelor și prenumelor care sună similar, pentru înregistrările unde valoareaDIFFERENCEdintre coloanele celor două tabele este 4. - Filtrează valorile unde coloanele
statistician_nameșistatistician_surnamedinS1și, respectiv,S2sunt diferite între ele.
Exercițiu interactiv practic
Încearcă acest exercițiu completând acest cod de exemplu.
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.___