Bắt đầu ngayBắt đầu miễn phí

So sánh tên bằng SOUNDEX()

Chuỗi bẩn như 'Ilynois' thay vì 'Illinois' có thể gây rắc rối khi phân tích dữ liệu. Vì vậy, việc phát hiện chúng là rất quan trọng.

Khi phân tích bảng flight_statistics, bạn nhận ra một số statistician_namestatistician_surname được ghi khác nhau, như Miriam SmithMyriam Smyth. Bạn lo rằng còn nhiều khác biệt kiểu này nữa, nên muốn kiểm tra toàn bộ các tên đó.

Bạn nghĩ đến việc so sánh tên của các nhà thống kê bằng SOUNDEX(). Nếu kết quả SOUNDEX() giống nhau nhưng văn bản bạn so sánh lại khác, bạn sẽ tìm ra dữ liệu cần làm sạch.

Bài tập này là một phần của khóa học

Làm sạch dữ liệu trong cơ sở dữ liệu SQL Server

Xem khóa học

Hướng dẫn bài tập

  • Chọn các giá trị khác nhau (distinct) của các cột statistician_namestatistician_surname từ S1.
  • Thực hiện inner join bảng flight_statistics với bí danh S2 dựa trên tên và họ có âm tương tự bằng SOUNDEX().
  • Loại bỏ các giá trị mà statistician_namestatistician_surname lần lượt khác nhau giữa S1S2.

Bài tập tương tác thực hành trực tiếp

Hãy thử làm bài tập này bằng cách hoàn thành đoạn mã mẫu này.

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.___
Chỉnh sửa và Chạy Mã