SQL statement to get all customers with no orders
This should work... theres more than one way to do it.
select * from persons where person.id not in (select person_id from orders)
You may want to use LEFT JOIN
and IS NULL
:
SELECT Persons.LastName, Persons.FirstName
FROM Persons
LEFT JOIN Orders ON Persons.id = Orders.Person_id
WHERE Orders.Person_id IS NULL;
The result of a left join always contains all records of the "left" table (Persons), even if the join-condition does not find any matching record in the "right" table (Orders). When there is no match, the columns of the "right" table will NULL
in the result set.