색상 이름 표준화
이전 연습 문제에서는 DIFFERENCE() 함수를 사용해 우리가 원하는 색상 표현인 GRAY와 가깝게 일치하는 색상을 찾았습니다. 하지만 이 방법은 vehicle_color 값이 회색일 수도 있고 아닐 수도 있는 여러 레코드를 그대로 남겨 두었습니다. 특히 문자열 GR(green)은 문자열 GRAY와 동일한 Soundex 코드를 가집니다. 다행히 이런 vehicle_color 값을 가진 레코드는 변경 대상에서 제외할 수 있습니다.
이번 연습 문제에서는 같은 색을 나타내는 유사한 문자열을 식별해, 일관된 회색 vehicle_color 값을 부여하겠습니다. 마찬가지로 fuzzystrmatch 모듈은 이미 설치되어 있습니다.
이 연습은 강의의 일부입니다
PostgreSQL 데이터베이스에서 데이터 정제하기
연습 안내
SET절을 완성하여, Soundex 코드가'GRAY'의 Soundex 코드와 일치하는vehicle_color값을 가진 레코드의vehicle_color에'GRAY'를 할당하세요.- 하위 쿼리의
WHERE절을 업데이트하여, 반환되는summons_number값에서vehicle_color값이'GR'인 레코드의summons_number는 반드시 제외되도록 하세요.
실습형 인터랙티브 연습
이 예제를 이 샘플 코드를 완성하여 풀어보세요.
UPDATE
parking_violation
SET
-- Update vehicle_color to `GRAY`
___ = ___
WHERE
summons_number IN (
SELECT
summons_number
FROM
parking_violation
WHERE
DIFFERENCE(vehicle_color, 'GRAY') = 4 AND
-- Filter out records that have GR as vehicle_color
___ != ___
);