• sqlzoo答案--select in 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 in ('argentina','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.Germany德國(人口8000萬),在Europe歐洲國家的人口最多。Austria奧地利(人口850萬)擁有德國總人口的11%。

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

    select name,concat(round(population/(select population from world where name = 'germany')*100),'%')
    from world
    where continent='europe'

    ---记得*100

    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 x.name = (select min(name) from world y where y.continent=x.continent )

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

    select name,continent,population
    from world
    where continent not in (select continent from world where population >25000000)

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

    select name,continent
    from world x
    where x.name = (select name from world y where y.continent =x.continent and population >= all (select population*3 from world t where t.continent=y.continent and t.name <> y.name))

  • 相关阅读:
    windows server 2008 r2安装windows media player
    IE打开https网站时,取消证书问题提示
    取消IE、Office、Wmp首次开启提示
    testNG安装一直失败解决方法
    Jmeter接口测试问题及解决方法积累
    大数据:实时技术
    大数据:离线数据开发
    大数据:数据同步
    大数据:日志采集
    大数据:Hadoop(HDFS 读写数据流程及优缺点)
  • 原文地址:https://www.cnblogs.com/ellencc/p/11983528.html
Copyright © 2020-2023  润新知