IniziaInizia gratis

Confrontare nomi con DIFFERENCE()

Nel precedente esercizio hai usato SOUNDEX() per controllare i nomi delle/dei statistiche/i dalla tabella flight_statistics.

Ora vuoi fare qualcosa di simile, ma usando la funzione DIFFERENCE(). DIFFERENCE() restituisce 4 quando c’è una corrispondenza identica o molto simile tra due stringhe, e 0 quando c’è poca o nessuna somiglianza.

Se il risultato di DIFFERENCE() tra due stringhe è 4, ma i testi che stai confrontando sono diversi, troverai i dati che devi pulire.

Questo esercizio fa parte del corso

Pulizia dei dati nei database SQL Server

Visualizza il corso

Istruzioni dell'esercizio

  • Seleziona i valori distinti delle colonne statistician_name e statistician_surname da S1.
  • Esegui un INNER JOIN della tabella flight_statistics come S2 su nomi e cognomi con suono simile, nei casi in cui DIFFERENCE tra la colonna di ciascuna tabella sia 4.
  • Escludi i valori in cui le colonne statistician_name e statistician_surname sono diverse tra loro rispettivamente in S1 e in S2.

Esercizio pratico interattivo

Prova a risolvere questo esercizio completando il codice di esempio.

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.___
Modifica ed esegui il codice