title: How do I create a query to extract differences between two tables that contain null values?
body: <p>I am writing a query that extracts the differences between a new table and an old table.</p>
  
  <pre><code>SELECT New.Entity, New.Type, New.Address, New.Country
  FROM tbl_EntityList_New As New
  WHERE NOT EXISTS (SELECT * FROM tbl_EntityList_Old as Old
  WHERE New.Entity = Old.Entity
  AND New.Address = Old.Address);
  </code></pre>
  
  <p>However, the query seems to mistakenly return blank addresses as a difference. To combat this, I added another portion to the first WHERE clause as so:</p>
  
  <pre><code>SELECT New.Entity, New.Type, New.Address, New.Country
  FROM tbl_EntityList_New As New
  WHERE NOT EXISTS (SELECT * FROM tbl_EntityList_Old as Old
  WHERE New.Entity = Old.Entity
  AND New.Address = Old.Address)
  AND New.Address Is Not Null;
  </code></pre>
  
  <p>However, new records with blank addresses will be excluded from this query, and I have no influence over how users enter in their new records.</p>
  
  <p>How can I amend my SQL to extract the differences I need? Thanks for your help in advance!</p>