Сравнение имён с помощью DIFFERENCE()
В предыдущем упражнении вы использовали SOUNDEX(), чтобы проверить имена статистиков из таблицы flight_statistics.
Теперь выполните аналогичную задачу, но с помощью функции DIFFERENCE(). Она возвращает значение 4, если две строки звучат похоже или совпадают, и 0 — если сходство минимально или отсутствует.
Если DIFFERENCE() возвращает 4, но сравниваемые строки различаются, значит, вы нашли данные, которые нужно очистить.
Это упражнение является частью курса
Очистка данных в базах данных SQL Server
Инструкции к упражнению
- Выберите уникальные значения столбцов
statistician_nameиstatistician_surnameизS1. - Выполните внутреннее соединение таблицы
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.___