I'm trying to get a better understanding of how "not in" works with WHERE in MySQL.

For example:

```
SELECT * FROM current_mailing_list 
WHERE address1 NOT IN
    (select address1 from old_mailing_list) AND
    city not in (select city from old_mailing_list);

```

In the above example, the purpose of the query is to list mailing addresses which are new. `address1` is a street address such as `1234 N. Main St`. The problem happens when `1234 N. Main St` occurs in more than one city, which can happen. So I decided to add `city` to it to make it more unique.

My question is, is this doing what I expect it to do? Meaning, it should find those street addresses (address1) that don't exist in the `old_mailing_list` **AND** then make sure they have a different `city`. 

I have done this, just with the address1:

```
SELECT * FROM current_mailing_list 
WHERE address1 NOT IN 
    (select address1 from old_mailing_list);

```

and it produced a much larger list (about 10 times the size). So I wanted to add `city` to this. Or is my logic in the entirely wrong and need another approach?