시작하기무료로 시작하기

DIFFERENCE()로 이름 비교하기

이전 연습 문제에서는 flight_statistics 테이블에서 통계학자들의 이름을 확인하기 위해 SOUNDEX()를 사용했어요.

이번에는 비슷한 작업을 DIFFERENCE() 함수를 사용해서 해보겠습니다. DIFFERENCE()는 두 문자열이 비슷하거나 동일하게 들리면 4를, 유사성이 거의 없으면 0을 반환합니다.

두 문자열의 DIFFERENCE() 결과가 4인데 비교하는 텍스트가 서로 다르다면, 바로 그 데이터가 정리해야 할 대상입니다.

이 연습은 강의의 일부입니다

SQL Server 데이터베이스에서 데이터 정제하기

강의 보기

연습 안내

  • S1에서 statistician_namestatistician_surname 열의 고유값을 선택하세요.
  • flight_statistics 테이블을 S2로 INNER JOIN 하되, 각 테이블의 해당 열에 대한 DIFFERENCE가 4인 경우(이름과 성이 비슷하게 들리는 경우)만 조인하세요.
  • S1S2 각각에서 statistician_namestatistician_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.___
코드 편집 및 실행