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

So sánh tên với DIFFERENCE()

Trong bài trước, bạn đã dùng SOUNDEX() để kiểm tra tên của các nhà thống kê trong bảng flight_statistics.

Lần này, bạn sẽ làm điều tương tự nhưng dùng hàm DIFFERENCE(). DIFFERENCE() trả về 4 khi hai chuỗi giống hệt hoặc rất giống nhau, và trả về 0 khi mức độ tương đồng rất thấp hoặc không có.

Nếu kết quả DIFFERENCE() giữa hai chuỗi là 4 nhưng phần văn bản bạn so sánh lại khác nhau, đó chính là dữ liệu bạn 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 trên các tên và họ phát âm tương tự ở những trường hợp mà DIFFERENCE giữa cột tương ứng của mỗi bảng bằng 4.
  • 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 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.___
Chỉnh sửa và Chạy Mã