Trang chủ>  Blog >  Kiến thức chuyên môn >  Làm sạch dữ liệu bằng SQL: NULL, trùng lặp, chuẩn hóa

Làm sạch dữ liệu bằng SQL: NULL, trùng lặp, chuẩn hóa


Khi làm phân tích dữ liệu, điều đầu tiên bạn cần làm không phải là vẽ biểu đồ, mà là làm sạch dữ liệu. Dữ liệu bẩn có thể đến từ form điền tay, hệ thống nhập liệu lỗi, hoặc sai sót khi merge nhiều bảng. → Trong bài viết này, bạn sẽ học cách dùng SQL để: • Xử lý giá trị NULL • Xoá hoặc lọc dòng trùng lặp • Chuẩn hóa dữ liệu trước khi phân tích hoặc đưa vào Power BI/Tableau

  305 lượt xem

Nội dung bài viết

1. Xử lý NULL – giá trị thiếu

NULL là giá trị “không xác định” trong SQL, và cần xử lý đúng để tránh sai số.

📌 a. Thay thế NULL bằng giá trị mặc định

SELECT

  customer_name,

  COALESCE(phone_number, 'Chưa cập nhật') AS phone_display

FROM customers;

COALESCE() sẽ trả về giá trị đầu tiên khác NULL.

📌 b. Lọc bỏ dòng có NULL ở trường quan trọng

SELECT *

FROM orders

WHERE amount IS NOT NULL;

📌 c. Tính toán vẫn đúng khi có NULL

SELECT

  AVG(amount) AS avg_order

FROM orders

WHERE amount IS NOT NULL;

2. Loại bỏ dòng trùng lặp

Khi import từ nhiều nguồn, bạn dễ gặp dữ liệu bị duplicate.

🧹 a. Chỉ giữ dòng duy nhất (DISTINCT)

SELECT DISTINCT customer_id, email

FROM customers;

📌 Dùng khi bạn cần loại bỏ các dòng trùng hệt nhau.

🧼 b. Giữ bản ghi mới nhất theo ID

SELECT *

FROM (

  SELECT *,

         ROW_NUMBER() OVER(PARTITION BY customer_id ORDER BY updated_at DESC) AS rn

  FROM customers

) sub

WHERE rn = 1;

→ Cách này giữ lại bản ghi mới nhất cho mỗi customer_id.

 

3. Chuẩn hóa dữ liệu: chữ hoa, định dạng, số điện thoại…

✨ a. Chuẩn hóa chữ (UPPER, LOWER, INITCAP)

SELECT

  LOWER(email) AS email_lower,

  INITCAP(customer_name) AS name_formatted

FROM customers;

INITCAP() viết hoa chữ cái đầu từng từ (tùy hệ CSDL: dùng trong Oracle, Snowflake...)

✨ b. Xoá khoảng trắng dư

SELECT

  TRIM(full_name) AS cleaned_name

FROM customers;

✨ c. Format số điện thoại

SELECT

  REGEXP_REPLACE(phone_number, '[^0-9]', '', 'g') AS phone_cleaned

FROM customers;

Dùng REGEXP_REPLACE để xóa ký tự không phải số ((), -, dấu cách…)

 

4. Checklist làm sạch dữ liệu bằng SQL

✅ Kiểm tra & xử lý NULL:

  • Dùng COALESCE() để thay giá trị
  • Lọc dòng thiếu dữ liệu quan trọng

✅ Xử lý trùng lặp:

  • Dùng DISTINCT
  • Kết hợp ROW_NUMBER() để giữ bản ghi đúng

✅ Chuẩn hóa:

  • Dùng LOWER(), TRIM(), REGEXP_REPLACE()
  • Format định dạng ngày, số điện thoại, tên khách hàng

 

Học SQL làm sạch dữ liệu chuyên nghiệp tại MCI Academy

Làm sạch dữ liệu là bước nền tảng quan trọng nhất trong Data Analytics.
Dữ liệu bẩn = insight sai = quyết định sai.

🎓 Khóa học SQL for Newbies – MCI Academy

  • Lộ trình 30 ngày: Từ SELECT → JOIN → Cleaning → Window Function
  • Dữ liệu thực chiến: CRM, đơn hàng, phiếu khảo sát, hệ thống loyalty
  • Mentor 1–1: Góp ý từng truy vấn, giúp bạn hiểu sâu logic
  • 200+ bài tập + checklist mẫu + file luyện SQL sạch

📞 Hotline: 0352.433.233
📧 Email: cskh@mcivietnam.com

 

👉 Đăng ký ngay để thành thạo làm sạch dữ liệu bằng SQL – và phân tích đúng ngay từ bước đầu tiên!

Chương trình đào tạo: Phân tích dữ liệu, Khoa học dữ liệu, Kĩ sư dữ liệu, Lập trình ứng dụng.
Chất lượng nhất - Uy tín nhất - Nhiều học viên tin tưởng nhất
Hơn 8000 học viên ưu tú đã tốt nghiệp
Đăng ký tư vấn khóa học

*Vui lòng nhập số điện thoại của bạn

*Vui lòng nhập họ tên của bạn

*Vui lòng chọn địa điểm học

*Vui lòng chọn giới tính

*Vui lòng chọn 1 trường


Các bài viết liên quan


10 SQL Pattern Quan Trọng Cho Data Analyst – Phải Thuộc Lòng

SQL là “vũ khí số 1” của mọi Data Analyst. Nhưng không phải ai cũng biết cách dùng SQL hiệu quả – nhiều bạn chỉ dừng ở SELECT, WHERE đơn giản. 💡 Đây là 10 SQL pattern (mẫu câu truy vấn) phổ biến nhất trong công việc Data Analyst, kèm ví dụ thực tế để bạn có thể copy–paste và áp dụng ngay.

CTE (WITH) – Tối ưu truy vấn phức tạp

Khi phân tích dữ liệu, bạn sẽ gặp những truy vấn dài, lồng nhiều cấp và khó đọc. CTE (Common Table Expression) là “vũ khí bí mật” giúp chia nhỏ truy vấn thành từng bước, dễ hiểu và dễ bảo trì – giống như chia code thành các hàm nhỏ.

SQL là gì? Vì sao SQL là kỹ năng bắt buộc cho Data Analyst

Trong bài viết này, chúng ta sẽ cùng tìm hiểu SQL là gì, vì sao nó là kỹ năng bắt buộc cho Data Analyst, và cách bắt đầu học SQL hiệu quả.

Các bài viết liên quan