5

SELECT チュートリアル内で SQLZoo の SELECT の質問 5 を試しています。

ヨーロッパのどの国よりもGDPが大きい国は? 【名前だけ教えてください。】

これは私の解決策です。これは正しくありませんが、理由がわかりません。

SELECT name  
  FROM world  
 WHERE gdp > ALL (SELECT gdp FROM world WHERE continent ='Europe')

私は間違って何をしていますか?

4

7 に答える 7

11
select name, gdp 
from world x 
where gdp > all (select gdp from world y where continent = "Europe" and gdp > 0)

NULL 値の場合、不明な結果がフェッチされるため、NULL 値のチェックがありませんでした。ref: http://dev.mysql.com/doc/refman/5.5/en/all-subqueries.htmlを参照してください。

クエリをテストしたときに、一部のヨーロッパの国ではワールド テーブルに null 値が含まれている可能性があるため、null 値を回避するためにチェックを入れることをお勧めします。

于 2014-01-14T18:36:35.493 に答える
6
SELECT name 
  FROM world 
 WHERE gdp > (SELECT MAX(gdp) FROM world WHERE continent = 'Europe')

MAX 集計関数を使用すると、外部クエリと比較したいサブクエリから最高の GDP が返されます。

于 2014-01-04T16:13:01.530 に答える
0

私は質問を連続して行っていましたが、何らかの理由で前の質問からドイツが頭に浮かびました。だから私は私の質問にこれを持っていて、正しい答えを得ました。笑 試してみてください。Chrome を使用しています

select name from world where gdp > ALL( select gdp from world where name='Germany' and Population<>0)

于 2016-03-04T03:37:26.027 に答える
-1

これを試して:

SELECT name   FROM world  WHERE  gdp>= ALL(select gdp from world where continent='europe' and gdp>=0) and continent !='europe'
于 2018-06-25T16:23:40.833 に答える