【SQL】sqlzoo练习题SELECT from WORLD Tutorial

松俊美
2023-12-01

原地址:https://sqlzoo.net/wiki/SQLZOO:SELECT_from_WORLD_Tutorial/zh

上一篇:【SQL】sqlzoo练习题SELECT names

2.如何使用WHERE來篩選記錄。 顯示具有至少2億人口的國家名稱。 2億是200000000,有八個零。

SELECT name FROM world
 WHERE population>200000000

3.找出有至少200百萬(2億)人口的國家名稱,及人均國內生產總值。

select name,gdp/population as 人均國內生產總值 from world
 where population>200000000

4.顯示’South America’南美洲大陸的國家名字和以百萬為單位人口數。 將人口population 除以一百萬(1000000)得可得到以百萬為單位人口數。

select name,population/1000000 as '人口數/百万' from world
 where continent='South America'

5.顯示法國,德國,意大利(France, Germany, Italy)的國家名稱和人口。

select name,population from world
 where name in ('France', 'Germany', 'Italy')

6.顯示包含單詞“United”為名稱的國家。

select name from world
 where name like '%United%'

7.成為大國的兩種方式:如果它有3百萬平方公里以上的面積,或擁有250百萬(2.5億)以上人口。
展示大國的名稱,人口和面積。

select name as 大国,population as 人口,area as 面积 from world
 where area > 3000000 or population > 250000000

8.美國、印度和中國(USA, India, China)是人口又大,同時面積又大的國家。排除這些國家。
顯示以人口或面積為大國的國家,但不能同時兩者。顯示國家名稱,人口和面積。

select name as 大国,population as 人口,area as 面积 from world
 where (area > 3000000 and population < 250000000) or (area < 3000000 and population > 250000000)

9.除以為1000000(6個零)是以百萬計。除以1000000000(9個零)是以十億計。使用 ROUND 函數來顯示的數值到小數點後兩位。
對於南美顯示以百萬計人口,以十億計2位小數GDP。

select name,round(population/1000000,2) as '人口/百万',round(gdp/1000000000,2) as 'gdp/十亿' from world
 where continent = 'South America'
--解题思路:题目重点要取小数点后两位,用round()函数可以满足

10.顯示國家有至少一個萬億元國內生產總值(萬億,也就是12個零)的人均國內生產總值。四捨五入這個值到最接近1000。
顯示萬億元國家的人均國內生產總值,四捨五入到最近的$ 1000。

select name,round(gdp/population,-3) from world
 where gdp > 1000000000000
--解题思路:题目要求拿到的值四舍五入到千分位,巧用round()函数,向前提三位到千分位即可。

11.The CASE statement shown is used to substitute North America for Caribbean in the third column.
Show the name - but substitute Australasia for Oceania - for countries beginning with N.

SELECT name,
 CASE WHEN continent='Oceania' THEN 'Australasia'
 ELSE continent END as a
 FROM world
  WHERE name LIKE 'N%'

12.显示名称和大陆,用欧亚大陆代替欧洲和亚洲;用美洲代替北美、南美或加勒比的每个国家。
显示以A或B开头的国家

select name,
 case when continent in ('Europe','Asia') then 'Eurasia' 
 when continent in ('North America','South America','Caribbean') then 'America' 
 else continent end as 大洲 
 from world 
  where name like 'A%' or name like 'B%'

13.Put the continents right…
Oceania becomes Australasia
Countries in Eurasia and Turkey go to Europe/Asia
Caribbean islands starting with ‘B’ go to North America, other Caribbean islands go to South America
Show the name, the original continent and the new continent of all countries.

select name,continent,
 case when continent = 'Oceania' then 'Australasia'
 when continent in ('Eurasia','Turkey') then 'Europe/Asia'
 when continent='Caribbean'and name like 'B%' then 'North America'
 when continent='Caribbean'and name not like 'B%' then 'South America'
 else continent end
 from world
  order by name

下一篇:sqlzoo练习题SELECT from Nobel Tutorial

 类似资料: