2016-11-18 3 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 Ahh okay. Благодарю. +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

вопрос не спрашивает ничего о производительности –