НачатьНачать бесплатно

Сравнение имён с помощью SOUNDEX()

Ошибки в строках — например, 'Ilynois' вместо 'Illinois' — могут привести к проблемам при анализе данных. Поэтому важно уметь их выявлять.

При анализе таблицы flight_statistics вы замечаете, что некоторые значения в столбцах statistician_name и statistician_surname записаны по-разному: например, Miriam Smith и Myriam Smyth. Вы опасаетесь, что подобных расхождений может быть больше, и хотите проверить все имена.

Для этого вы решаете сравнить имена статистиков с помощью SOUNDEX(). Если результат SOUNDEX() совпадает, а сами строки различаются, — значит, вы нашли данные, требующие очистки.

Это упражнение является частью курса

Очистка данных в базах данных SQL Server

Посмотреть курс

Инструкции к упражнению

  • Выберите уникальные значения столбцов statistician_name и statistician_surname из S1.
  • Выполните внутреннее объединение таблицы 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.___
Редактировать и запускать код