DIFFERENCE()로 이름 비교하기
이전 연습 문제에서는 flight_statistics 테이블에서 통계학자들의 이름을 확인하기 위해 SOUNDEX()를 사용했어요.
이번에는 비슷한 작업을 DIFFERENCE() 함수를 사용해서 해보겠습니다. DIFFERENCE()는 두 문자열이 비슷하거나 동일하게 들리면 4를, 유사성이 거의 없으면 0을 반환합니다.
두 문자열의 DIFFERENCE() 결과가 4인데 비교하는 텍스트가 서로 다르다면, 바로 그 데이터가 정리해야 할 대상입니다.
이 연습은 강의의 일부입니다
SQL Server 데이터베이스에서 데이터 정제하기
연습 안내
S1에서statistician_name과statistician_surname열의 고유값을 선택하세요.flight_statistics테이블을S2로 INNER JOIN 하되, 각 테이블의 해당 열에 대한DIFFERENCE가 4인 경우(이름과 성이 비슷하게 들리는 경우)만 조인하세요.S1과S2각각에서statistician_name과statistician_surname값이 서로 다른 행만 남기도록 필터링하세요.
실습형 인터랙티브 연습
이 예제를 이 샘플 코드를 완성하여 풀어보세요.
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.___