And if you are explaining this to non-technical people, don't forget to use examples that are meaningful to your audience. So, for example, your company might want to contact all customers who have placed an order in the last 6 months, but have not ordered in the last quarter to send them a coupon or a "We want you back" letter. That query would look like
Select c.AccountNumber
From Customer c
Where
-- Customers who have ordered in the last 180 days
Exists (Select * From SalesOrderHeader s1 Where c.CustomerID = s1.CustomerID And DateDiff(day, s1.OrderDate, GetDate()) < 180)
-- But have not ordered in the last 90 days
And Not Exists (Select * From SalesOrderHeader s2 Where c.CustomerID = s2.CustomerID And DateDiff(day, s2.OrderDate, GetDate()) < 90)
Group By c.AccountNumber;
You could use that to explain both Exists and Not Exists.
Tom