SOUNDEX() ile isimleri karşılaştırma
Veri analizinde 'Illinois' yerine 'Ilynois' gibi dağınık metinler sorun çıkarabilir. Bu yüzden bunları tespit etmek önemlidir.
flight_statistics tablosunu incelerken bazı statistician_name ve statistician_surname değerlerinin farklı yazıldığını fark ettin; örneğin Miriam Smith ile Myriam Smyth gibi. Bu tür başka farklar olmasından şüpheleniyorsun, bu yüzden tüm bu isimleri kontrol etmek istiyorsun.
İstatistikçilerin isimlerini SOUNDEX() ile karşılaştırmayı düşünüyorsun. Eğer SOUNDEX() sonucu aynıysa ama karşılaştırdığın metinler farklıysa, temizlemen gereken verileri bulacaksın.
Bu egzersiz
SQL Server Veritabanlarında Veri Temizleme
kursunun bir parçasıdırEgzersiz talimatları
S1içindenstatistician_namevestatistician_surnamesütunlarının farklı (distinct) değerlerini seç.SOUNDEX()kullanarak benzer telaffuz edilen ad ve soyadlara göreflight_statisticstablosunuS2olarak INNER JOIN ile bağla.statistician_namevestatistician_surnamesütunlarının, sırasıylaS1veS2içindeki karşılıklarından farklı olduğu değerleri filtrele.
Uygulamalı interaktif egzersiz
Bu örnek kodu tamamlayarak bu egzersizi bitirin.
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.___