Cơ BảnDatabase iconDatabase

NULL trong SQL là gì? Cách kiểm tra NULL?

NULL là giá trị không xác định, khác hoàn toàn với 0 hay chuỗi rỗng — NULL = NULL trả về NULL (không phải TRUE), phải dùng IS NULL/IS NOT NULL; aggregate functions bỏ qua NULL tự động.

  • NULL trong SQL đại diện cho giá trị không xác định hoặc thiếu — hoàn toàn khác với số 0, chuỗi rỗng '', hay false.
  • Đây là nguồn gốc của nhiều bug khó phát hiện.
  • Kiểm tra NULL phải dùng IS NULL / IS NOT NULL, tuyệt đối không dùng = NULLNULL = NULL trả về NULL (không phải TRUE), khiến WHERE clause không match gì cả.
  • Aggregate functions như SUM(), AVG(), MAX() tự động bỏ qua NULL — AVG(score) chỉ tính trung bình các hàng có giá trị, không tính NULL là 0.
  • Xử lý NULL khi select: COALESCE(phone, 'N/A') trả về giá trị đầu tiên không NULL.

Pitfall trong JOIN: nếu foreign key có NULL, INNER JOIN sẽ loại bỏ hàng đó — dùng LEFT JOIN và kiểm tra NULL trong kết quả.

Xem toàn bộ Database cùng filter theo level & chủ đề con.

Mở danh sách Database