ПочатиПочніть безкоштовно

Порівняння імен за допомогою DIFFERENCE()

У попередній вправі ви використовували SOUNDEX() для перевірки імен статистиків з таблиці flight_statistics.

Тепер ви хочете зробити щось подібне, але за допомогою функції DIFFERENCE(). DIFFERENCE() повертає 4, коли між двома рядками є сильна або ідентична подібність, і 0, коли подібність відсутня або мінімальна.

Якщо результат DIFFERENCE() між двома рядками дорівнює 4, але тексти, які ви порівнюєте, різні, це означає, що ви знайшли дані, які потрібно очистити.

Ця вправа є частиною курсу

Очищення даних у базах даних SQL Server

Переглянути курс

Інструкції до вправи

  • Виберіть унікальні значення стовпців statistician_name і statistician_surname з S1.
  • Виконайте INNER JOIN таблиці flight_statistics як S2 за схоже вимовними іменами та прізвищами в тих випадках, коли DIFFERENCE між відповідними стовпцями кожної таблиці дорівнює 4.
  • Відфільтруйте значення, де стовпці statistician_name і statistician_surname у S1 та S2 відповідно відрізняються один від одного.

Інтерактивна практична вправа

Спробуйте виконати цю вправу, доповнивши цей зразок коду.

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.___
Редагувати та запускати код