zoukankan      html  css  js  c++  java
  • sqlzoo练习系列(三)——SELECT from World

     【Tips】

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

    SELECT from World练习链接:https://sqlzoo.net/wiki/SQLZOO:SELECT_from_WORLD_Tutorial/zh

    所用的表world

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

    1.简单命令

    SELECT name, continent, population FROM world

    2.WHERE筛选记录

    SELECT name FROM world
    WHERE population>200000000

    3.求人均生产总值

    SELECT name,gdp/population
    FROM world
    WHERE population > 200000000

    4.人口数变成百万单位

    SELECT name,population/1000000
    FROM world
    WHERE continent='South America'

    5.显示法国、德国、意大利的名字和人口

    SELECT name,population
     FROM world
    WHERE name IN ('France', 'Germany', 'Italy')

    6.显示包含单词‘United’的国家

    SELECT name
    FROM world
    WHERE name LIKE '%United%'

    7.显示大国名称、人口和面积

    SELECT name,population,area
    FROM world
    WHERE area>3000000 OR population > 250000000

    8.显示以人口或面积为大国的国家,不能同时有两者

    SELECT name,population,area
    FROM world
    WHERE (area>3000000 OR population > 250000000) AND NOT (area>3000000 AND population > 250000000)

    9.显示小数结果ROUND(数据,小数位数)

    SELECT name,ROUND(population/1000000,2),ROUND(gdp/1000000000,2)
    FROM world
    WHERE continent='South America'

    10.选择大于12个0的gdp的国家,算出人均国内生产总值,并将结果四舍五入到最接近的1000

    SELECT name, ROUND(gdp/population/1000)*1000
    FROM world
    WHERE gdp>1000000000000

    11.显示以N开头的国家名字,但是将Oceania替换成Australasia

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

    12.显示以A或B开头的国家名字,大洲,但是将Europe和Asia替换成Eurasia,将在North America或者South America或者Caribbean的国家替换成America

    SELECT name,
    CASE WHEN continent='Europe' OR continent='Asia'
         THEN 'Eurasia'
         WHEN continent IN ('North America', 'South America', 'Caribbean')
         THEN 'America'
         ELSE continent END
    FROM world
    WHERE name LIKE 'A%'
    OR name LIKE 'B%'

    13.展示name,旧的大洲,和新的大洲情况,满足条件:Oceania变成Australasia;在Eurasia和Turkey的国家变成Europe/Asia;以B开头的在Caribbean的岛变成North America,其余的变成South America

    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'
                 THEN 'South America'
                 ELSE continent
            END
    FROM world
    ORDER BY name
  • 相关阅读:
    1386. 安排电影院座位
    1123. 最深叶节点的最近公共祖先
    375. 猜数字大小 II
    未能在system.drawing中找到bitmap
    856. 括号的分数
    140. 单词拆分 II
    5909. 并行课程 III
    typora + ImgHosting (一款不会存储图片的图床实现)
    IDEA插件:search with bing、search with baidu
    多吉搜索美化
  • 原文地址:https://www.cnblogs.com/tuzinn/p/13835355.html
Copyright © 2011-2022 走看看