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

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

Брудні рядки на кшталт 'Ilynois' замість 'Illinois' можуть спричиняти проблеми під час аналізу даних. Тому важливо виявляти такі помилки.

Аналізуючи таблицю flight_statistics, ви помічаєте, що деякі statistician_name і statistician_surname записані по‑різному, наприклад, Miriam Smith і Myriam Smyth. Ви побоюєтеся, що подібних відмінностей більше, тож хочете перевірити всі ці імена.

Ви плануєте порівняти імена статистиків за допомогою SOUNDEX(). Якщо результат SOUNDEX() збігається, але порівнювані тексти різні, ви знайдете дані, які потрібно почистити.

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

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

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

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

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

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

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

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