Here's a test for you. What will the following query return?
select * from table1 where field1 like 'a%'
If you answered abc you are correct - congratulations!
Ok now here is the same query slightly modified - what will it return:
select * from table1 where not (field1 like 'a%')
Surprisingly (to me) it doesn't return (null) and xyz, it only returns xyz. If anyone knows why can you please explain in the comments?