Question 8: MySQL ---------- Duplicate Emails, email
Suppose that a website contains two tables,Customers
Table andOrders
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 |+-----------+
Answer:
SELECT A.Name from Customers AWHERE A.Id NOT IN (SELECT B.CustomerId from Orders B)
You can also write the following two methods:
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