
SQL架构:
1 2 3 4 5 6 7 8 9 10
|
Create table If Not Exists Customers (Id int, Name varchar(255)) Create table If Not Exists Orders (Id int, CustomerId int) Truncate table Customers insert into Customers (Id, Name) values ('1', 'Joe') insert into Customers (Id, Name) values ('2', 'Henry') insert into Customers (Id, Name) values ('3', 'Sam') insert into Customers (Id, Name) values ('4', 'Max') Truncate table Orders insert into Orders (Id, CustomerId) values ('1', '3') insert into Orders (Id, CustomerId) values ('2', '1')
|
Customers 表:
1 2 3 4 5 6 7 8
|
+ | Id | Name | + | 1 | Joe | | 2 | Henry | | 3 | Sam | | 4 | Max | +
|
Orders 表:
1 2 3 4 5 6
|
+ | Id | CustomerId | + | 1 | 3 | | 2 | 1 | +
|
某网站包含两个表,Customers表和 Orders 表编写一个 SQL 查询,找出所有从不订购任何东西的客户。
例如给定上述表格,你的查询应返回:
1 2 3 4 5 6
|
+ | Customers | + | Henry | | Max | +
|
思路:
查询目标:Name(As Customers)
查询范围:Customers表和Orders表
查询条件:从不订购任何东西。
解答:
1 2 3 4 5 6
|
select Customers.Name as Customers from Customers left join Orders on Customers.Id = Orders.CustomerId where Orders.Id is null
|
近期评论