返回顶部 底部

sqlzoo练习系列(五)——子查询之如何使用子查询

 【Tips】

  • sqlzoo官网链接:https://sqlzoo.net/wiki/SQL_Tutorial/zh
  • 每个系列开头介绍所用表及其信息
  • 每道题均测试通过,含有题目描述、代码和结果
  • 题目为自己简写,最好在官网查看具体题目
  • 部分测试结果不完整,仅为一部分截图

如何使用子查询练习链接:https://sqlzoo.net/wiki/Using_nested_SELECT/zh

所用的表world

  • name:国家名称
  • continent:洲
  • area:面积
  • population:人口
  • gdp:国内生产总值

 

1.List each country in the same continent as 'Brazil'

SELECT name FROM world WHERE continent = 
(SELECT continent 
FROM world WHERE name = 'Brazil')

2.列出与巴西'Brazil' 和 墨西哥'Mexico'相同洲份的每个国家名和洲

SELECT name, continent FROM world
WHERE continent IN
  (SELECT continent 
     FROM world WHERE name='Brazil'
                   OR name='Mexico')

3.显示中国人口是英国的多少倍

SELECT
 population/(SELECT population FROM world
             WHERE name='United Kingdom')
  FROM world
WHERE name = 'China'

4.找出人口高于欧洲每一个国家的名字

--ALL或ANY的使用
SELECT name FROM world
 WHERE population > ALL
      (SELECT population FROM world
        WHERE continent='Europe')

 

posted @ 2020-10-18 15:39  tuzinn  阅读(355)  评论(0编辑  收藏  举报