2021-03-25

SQLZOO:SELECT from WORLD Tutorial

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

SELECT name FROM world
WHERE population>200000000

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

select name,gdp/population
from world
where population >200000000;

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

select name,population/1000000
from world
where continent = 'South America';

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

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

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

select name
from world
where name like concat('%','united','%');

刚才犯了一个错误,在使用concat()连接字符的时候忘记把united用引号括起来
6、成為大國的兩種方式:如果它有3百萬平方公里以上的面積,或擁有250百萬(2.5億)以上人口。展示大國的名稱,人口和面積。

select name,population,area
from world
where area>3000000 or population >250000000;

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

select name,population,area
from world
where (area>3000000 or population >250000000) 
and 
name not in (select name
from world
where area>3000000 and population >250000000);

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

select name, round(population/1000000,2),round(gdp/1000000000,2)
from world
where continent = 'South America';

这里round()函数的用法是重点,第一个参数为数值,第二个参数为小数点保留几位
9、顯示國家有至少一個萬億元國內生產總值(萬億,也就是12個零)的人均國內生產總值。四捨五入這個值到最接近1000。顯示萬億元國家的人均國內生產總值,四捨五入到最近的$ 1000。

select name, round(gdp/population,-3)
from world
where gdp > 1000000000000;

这个题是不会做的,看到上面使用round()函数突发奇想到的。
10、显示名称,但用澳大拉西亚代替大洋洲,以N开头的国家。

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

case when 语法,这里复习一下
流程控制函数
①if(条件表达式,表达式1,表达式2):如果条件表达式成立,返回表达式1,否则返回表达式2
②case情况1
case 变量或表达式或字段
when 常量1 then 值1
when 常量2 then 值2

else 值n
end

③case情况2
case
when 条件1 then 值1
when 条件2 then 值2

else 值n
end
11、显示名称和大陆-但是用欧亚代替欧洲和亚洲;用美洲代替北美洲、南美洲或加勒比海的每个国家。显示以A或B开头的国家

SELECT name, 
       CASE WHEN continent='Europe' OR continent='Asia' THEN 'Eurasia'
            WHEN continent='North America' OR continent='South America' OR continent='Caribbean' THEN 'America'  
            ELSE continent END
  FROM world
 WHERE name LIKE 'A%' OR name LIKE 'B%'
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值