Skip to content

Latest commit

 

History

History
99 lines (80 loc) · 1.91 KB

File metadata and controls

99 lines (80 loc) · 1.91 KB

中文文档

Description

Table: Customers

+-------------+---------+
| Column Name | Type    |
+-------------+---------+
| id          | int     |
| name        | varchar |
+-------------+---------+
id is the primary key column for this table.
Each row of this table indicates the ID and name of a customer.

 

Table: Orders

+-------------+------+
| Column Name | Type |
+-------------+------+
| id          | int  |
| customerId  | int  |
+-------------+------+
id is the primary key column for this table.
customerId is a foreign key of the ID from the Customers table.
Each row of this table indicates the ID of an order and the ID of the customer who ordered it.

 

Write an SQL query to report all customers who never order anything.

Return the result table in any order.

The query result format is in the following example.

 

Example 1:

Input: 
Customers table:
+----+-------+
| id | name  |
+----+-------+
| 1  | Joe   |
| 2  | Henry |
| 3  | Sam   |
| 4  | Max   |
+----+-------+
Orders table:
+----+------------+
| id | customerId |
+----+------------+
| 1  | 3          |
| 2  | 1          |
+----+------------+
Output: 
+-----------+
| Customers |
+-----------+
| Henry     |
| Max       |
+-----------+

Solutions

SQL

SELECT Name AS Customers
FROM Customers
WHERE
    id NOT IN (
        SELECT CustomerId
        FROM Orders
    );
SELECT
    c.Name AS Customers
FROM
    customers AS c
    LEFT JOIN orders AS o ON c.Id = o.CustomerId
WHERE o.CustomerId IS NULL;