sqlzoo-Nested SELECT Quiz记录

Nested SELECT Quiz

表格:

表格

1. Select the code that shows the name, region and population of the smallest country in each region
-- 查找每个地区最小的国家(按人口排序),显示其名字、所属地区和人口
 SELECT region, name, population 
 FROM bbc x 
 WHERE population <= ALL (SELECT population FROM bbc y WHERE y.region=x.region AND population>0)
2. Select the code that shows the countries belonging to regions with all populations over 50000
-- 找出某地区所有人数大于50000的地区,显示其中国家
SELECT name,region,population 
FROM bbc x 
WHERE 50000 < ALL (SELECT population FROM bbc y WHERE x.region=y.region AND y.population>0)
3. Select the code that shows the countries with a less than a third of the population of the countries around it
-- 找出人口数小于其邻国(同一地区)三分之一人口的国家
SELECT name, region 
FROM bbc x
WHERE population < ALL (SELECT population/3 FROM bbc y WHERE y.region = x.region AND y.name != x.name)

4. Select the result that would be obtained from the following code:
-- 代码运行题
-- 查找与英国在同一区域且人口数大于英国的国家
SELECT name 
FROM bbc
WHERE population >
       (SELECT population
          FROM bbc
         WHERE name='United Kingdom')
   AND region IN
       (SELECT region
          FROM bbc
         WHERE name = 'United Kingdom')

结果:
结果5

5. Select the code that would show the countries with a greater GDP than any country in Africa (some countries may have NULL gdp values).
-- 找出gdp大于所有亚洲国家的国家
SELECT name 
FROM bbc
WHERE gdp > (SELECT MAX(gdp) FROM bbc WHERE region = 'Africa')
-- 易错:
SELECT name 
FROM bbc
WHERE gdp > ALL (SELECT gdp FROM bbc WHERE region = 'Africa' AND gdp<>NULL)
-- 本答案错在gdp<>NULL,null不能用于数值比较,应改为gdp is not null
6. Select the code that shows the countries with population smaller than Russia but bigger than Denmark
-- 找出人口数少于俄罗斯,大于丹麦的国家
SELECT name 
FROM bbc
WHERE population < (SELECT population FROM bbc WHERE name='Russia')
   AND population > (SELECT population FROM bbc WHERE name='Denmark')
7.Select the result that would be obtained from the following code:
-- 代码运行结果题:
-- 找出南亚区域内人口数大于所有欧洲国家人口数的国家
SELECT name 
FROM bbc
WHERE population > ALL
       (SELECT MAX(population)
          FROM bbc
         WHERE region = 'Europe')
   AND region = 'South Asia'

结果:
结果7

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值