日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 运维知识 > 数据库 >内容正文

数据库

SQLZOO练习-- SELECT within SELECT Tutorial(含题目翻译)

發布時間:2024/1/18 数据库 37 豆豆
生活随笔 收集整理的這篇文章主要介紹了 SQLZOO练习-- SELECT within SELECT Tutorial(含题目翻译) 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

知識點

子查詢

?

數據表

world

?

?

題目內容

1.List each country?name?where the?population?is larger than that of 'Russia'.(查找人口數大于'Russia'的國家)

SELECT name FROM worldWHERE population >(SELECT population FROM worldWHERE name='Russia')

?

2.Show the countries in Europe with a per capita GDP greater than 'United Kingdom'.(查找人均GDP大于'United Kingdom'的國家,人均GDP=GDP/人口數)

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

?

3.List the?name?and?continent?of countries in the continents containing either?Argentina?or?Australia. Order by name of the country.(查找和‘Argentina’或者‘Australia’在同一個洲的國家名稱和洲名稱,按照國家名稱排序)

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

?

4.Which country has a population that is more than Canada but less than Poland? Show the name and the population.(查找人口數多于‘Canada’,但少于‘Poland’的國家名稱和人口數)

ps:這道題不可以用between and,因為題目要求不包含上下限,而between and是包含上下限的

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

?

5.Show the name and the population of each country in Europe. Show the population as a percentage of the population of Germany.(查找‘Europe’洲中的國家名稱和人口百分比,人口百分比=人口數/‘Germany’國家人口數)

select name, concat(round(population/(select population from world where name = 'Germany')*100,0),'%') from world where continent = 'Europe'

?

6.Which countries have a GDP greater than every country in Europe? [Give the?name?only.] (Some countries may have NULL gdp values).(查找GDP大于‘Europe’中每一個國家GDP的國家,需要注意有的國家GDP為0)

select name from world where gdp > all(select gdp from worldwhere continent = 'Europe'and gdp > 0)

?

進階練習

7.Find the largest country (by area) in each continent, show the?continent, the?name?and the?area.(查找每個大洲中面積最大的國家的國家名稱、隸屬洲名、面積)

SELECT continent, name, area FROM world xWHERE area >= ALL(SELECT area FROM world yWHERE y.continent=x.continentAND area > 0)

?

8.List each continent and the name of the country that comes first alphabetically.(查找每個大洲中按照字母排序排在第一的國家的國家名稱、隸屬洲名)

select continent,name from world x where x.name=(select y.name from world y where y.continent=x.continent order by name limit 1)

?

難度挑戰

9.Find the continents where all countries have a population <= 25000000. Then find the names of the countries associated with these continents. Show?name,?continent?and?population.(查找每個國家的人口數都≤25000000的大洲,并查詢這些大洲下的國家名稱、洲名稱、人口數)

select name,continent,population from world x where 25000000 >= all(select population from world ywhere x.continent = y.continentand population > 0)

?

10.Some countries have populations more than three times that of any of their neighbours (in the same continent). Give the countries and continents.(查找隸屬同一個洲,且人口數是其他國家人口數3倍的國家名稱、洲名稱)

select name,continent from world x where x.population/3 >= all (select y.population from world ywhere x.continent = y.continentand x.name <> y.nameand population >0)

?

總結

以上是生活随笔為你收集整理的SQLZOO练习-- SELECT within SELECT Tutorial(含题目翻译)的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。