題目8:MySQL----------Duplicate Emails,email
Suppose that a website contains two tables, the Customers table and the Orders table. Write a SQL query to find all customers who never order anything.
Table: Customers.
+----+-------+| Id | Name |+----+-------+| 1 | Joe || 2 | Henry || 3 | Sam || 4 | Max |+----+-------+
Table: Orders.
+----+------------+| Id | CustomerId |+----+------------+| 1 | 3 || 2 | 1 |+----+------------+
Using the above tables as example, return the following:
+-----------+| Customers |+-----------+| Henry || Max |+-----------+
題目解答:
SELECT A.Name from Customers AWHERE A.Id NOT IN (SELECT B.CustomerId from Orders B)
另外還可以寫成下面兩種方式:
SELECT A.Name from Customers AWHERE NOT EXISTS (SELECT 1 FROM Orders B WHERE A.Id = B.CustomerId)SELECT A.Name from Customers ALEFT JOIN Orders B on a.Id = B.CustomerIdWHERE b.CustomerId is NULL