DIFFERENCE() ile adları karşılaştırma
Önceki egzersizde, flight_statistics tablosundaki istatistikçilerin adlarını kontrol etmek için SOUNDEX() kullandın.
Bu kez benzer bir şeyi DIFFERENCE() fonksiyonunu kullanarak yapmak istiyorsun. DIFFERENCE(), iki dize arasında benzerlik veya birebir eşleşme varsa 4, çok az ya da hiç benzerlik yoksa 0 döndürür.
Eğer iki dize için DIFFERENCE() sonucu 4 ise ama karşılaştırdığın metinler farklıysa, temizlemen gereken veriyi bulmuşsun demektir.
Bu egzersiz
SQL Server Veritabanlarında Veri Temizleme
kursunun bir parçasıdırEgzersiz talimatları
S1içindenstatistician_namevestatistician_surnamesütunlarının benzersiz değerlerini seç.flight_statisticstablosunuS2olarak, her iki tablodaki ilgili sütunlar arasındakiDIFFERENCE4 olduğunda benzer sesli ad ve soyadlara göre INNER JOIN ile birleştir.S1veS2'de sırasıylastatistician_namevestatistician_surnamesütunlarının birbirinden farklı olduğu değerleri filtrele.
Uygulamalı interaktif egzersiz
Bu örnek kodu tamamlayarak bu egzersizi bitirin.
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.___