SQLzoo答案 select within select

1,列出每個國家的名字 name,當中人口 population 是高於俄羅斯'Russia'的人口。

SELECT name FROM world

  WHERE population >

    (SELECT population FROM world

      WHERE name='Russia')

2.列出歐州每國家的人均GDP,當中人均GDP要高於英國'United Kingdom'的數值。

select name from world

where continent = 'Europe'

and gdp/population > (select gdp/population from world where name = 'United Kingdom' )

3.在阿根廷Argentina 及 澳大利亞 Australia所在的洲份中,列出當中的國家名字 name 及洲分 continent 。按國字名字順序排序

select name,continent from world

where continent in (select continent from world where name ='Argentina' or name ='Australia') order by name

4.哪一個國家的人口比加拿大Canada的多,但比波蘭Poland的少?列出國家名字name和人口population 。

select name,population from world where

population > (select population from world where name='Canada') and population <(select population from world where name='Poland')

5.顯示歐洲的國家名稱name和每個國家的人口population。以德國的人口的百分比作人口顯示。

select name,concat(Round(population*100/(select population from world where name ='Germany')),'%')

from world

where  continent = 'Europe'

6.哪些國家的GDP比Europe歐洲的全部國家都要高呢? [只需列出 name 。] (有些國家的記錄中,GDP是NULL,沒有填入資料的。)

select name from world

where GDP > all(select GDP from world where continent = 'Europe'and GDP>0)

7.在每一個州中找出最大面積的國家,列出洲份 continent, 國家名字 name 及面積 area。 (有些國家的記錄中,AREA是NULL,沒有填入資料的。)

SELECT continent, name, area FROM world x

  WHERE AREA >= ALL

    (SELECT AREA FROM world y

        WHERE y.continent=x.continent

          AND AREA>0)

8.列出洲份名稱,和每個洲份中國家名字按子母順序是排首位的國家名。(即每洲只有列一國)

select continent,name from world x

where name = (select name from world y

WHERE x.continent = y.continent order by name limit 1)

9.找出洲份,當中全部國家都有少於或等於 25000000 人口. 在這些洲份中,列出國家名字namecontinent 洲份和population人口。

SELECT name,continent,population FROM world x

  WHERE 25000000 >= ALL(select population FROM world y

                          WHERE x.continent = y.continent

                          AND population > 0)

10.有些國家的人口是同洲份的所有其他國的3倍或以上。列出 國家名字name 和 洲份 continent。

SELECT name,continent FROM world x

  WHERE population/3 >=  ALL(select population FROM world y

                          WHERE x.continent = y.continent

and x.name != y.name

                          AND population > 0)

©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。