2016-11-18 42 views
0

这是我想知道,如果下面的部分可以缩短代码有没有缩短'大于'操作员条件的方法?

SELECT name FROM world 
    WHERE population > 
    (SELECT population FROM world 
     WHERE name='Romania') 

 (SELECT population FROM world 
     WHERE name='Romania') 

我是MYSQL的新手。对于这样的问题抱歉。

谢谢

+0

只有当你已经知道“罗马尼亚”的人口:) – 2oppin

+0

@ 2oppin啊好的。谢谢。 +1 –

+0

没有特别的理由来缩短它。执行时间将被用在'SELECT name FROM world WHERE population>'中,而不是在这里。 – EJP

回答

0

虽然可能在此查询帮助不大(如子查询只返回一个记录),它往往是更快地使用一个连接,而不是一个子查询。

SELECT w1.name 
FROM world w1 
INNER JOIN world w2 ON w1.population > w2.population 
WHERE w2.name = 'Romania' 

你可能会想在名称字段上的索引,以及合理的性能在人口领域的另一个指标。

+0

这个问题不问任何有关性能的问题 –