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

  311 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


Làm chủ SQL – Nền tảng phân tích dữ liệu trong thời đại số

Trong bối cảnh doanh nghiệp vận hành dựa trên dữ liệu, SQL (Structured Query Language) đã trở thành kỹ năng không thể thiếu đối với mọi vị trí liên quan đến phân tích, báo cáo và ra quyết định. Nếu Excel giúp bạn tính toán trong phạm vi một file, thì SQL cho phép truy cập trực tiếp vào cơ sở dữ liệu của doanh nghiệp, xử lý hàng triệu dòng dữ liệu chỉ trong vài giây. Khóa học SQL tại Học viện Công nghệ MCI được thiết kế cho người mới bắt đầu, giúp học viên nắm vững kỹ năng truy vấn, phân tích và xử lý dữ liệu thực tế – nền tảng cần thiết để học Power BI, Python và các kỹ năng Data Analyst chuyên sâu.

🔥 SQL Server Management Studio (SSMS) – Trái tim của thế giới cơ sở dữ liệu 🧠💾

💡 Nếu Python là ngôn ngữ để phân tích dữ liệu, thì SQL Server Management Studio (SSMS) là “bàn điều khiển trung tâm” giúp bạn quản lý, giám sát và tương tác trực tiếp với dữ liệu trong doanh nghiệp. Dù bạn là Data Analyst, Developer hay Admin – SSMS là công cụ không thể thiếu trong mọi hệ thống dữ liệu chuyên nghiệp.

🧠 ETL – Hệ thống nạp dữ liệu của thế giới Data hiện đại

💡 Dữ liệu không tự nhiên mà có — nó được thu thập, làm sạch và vận chuyển mỗi ngày qua hàng trăm pipeline. Đằng sau mọi dashboard đẹp, mọi mô hình AI thông minh, đều là ETL (Extract – Transform – Load): quá trình đưa dữ liệu từ nguồn thô → sạch → dùng được. Nếu Data Visualization là “gương mặt”, thì ETL chính là trái tim của hệ thống dữ liệu doanh nghiệp.

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