我不确定这个查询

时间:2019-04-17 14:04:45

标签: sql

查询以仅当客户表中的一个或多个客户位于伦敦时才从客户表中提取数据

我的查询是

select * from Customer
where 'London' = ANY (select city from Customer)

我知道这不是正确的方法,但我想知道这是否也可行。 TIA

2 个答案:

答案 0 :(得分:2)

您的查询有效,因此这是表达它的一种方法(而且很聪明)。 Here是一个例子。

通常,我认为这是一个exists查询:

select c.*
from Customer c
where exists (select 1 from Customer c2 where c2.city = 'London');

这将返回任何城市的所有客户,甚至包括不在伦敦的客户。

您很可能只想回伦敦的客户,在这种情况下,简单的where city = 'London'就足够了。

答案 1 :(得分:0)

select * from Customer where city ='London' and 1 > (select count(*) from Customer where city='London');