zoukankan      html  css  js  c++  java
  • sqlzoo练习系列(七)——子查询之诺贝尔奖子查询

     【Tips】

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

    诺贝尔奖子查询练习链接:https://sqlzoo.net/wiki/The_nobel_table_can_be_used_to_practice_more_subquery./zh

    所用的表nobel

    • yr:获奖年份
    • subject:获奖类别
      • Chemistry:化学奖
      • Economics:经济奖
      • Literature:文学奖
      • Medicine:药学奖
      • Peace:和平奖
      • Physics:物理奖
    • winner:获奖者

    1.红十字国际委员会 (International Committee of the Red Cross) 曾多次获得和平奖。 试找出与红十字国际委员同年得奖的文学奖(Literature)得奖者和年份

    --多次获得,使用IN
    SELECT winner,yr
    FROM nobel 
    WHERE yr IN (SELECT yr FROM nobel 
                WHERE winner = 'International Committee of the Red Cross'
                AND subject = 'Peace')
    AND subject = 'Literature'

    2.日本物理学家Toshihide Maskawa获得物理奖,同年还有两位日本人一起获得物理奖,列出这两人的名称

    --其余两人,不包含Toshihide Maskawa
    SELECT winner
    FROM nobel
    WHERE yr = (SELECT yr FROM nobel
               WHERE winner = 'Toshihide Maskawa'
               AND subject = 'Physics')
    AND subject = 'Physics'
    AND winner!= 'Toshihide Maskawa'

    3.首次颁发的经济奖的得奖者是谁

    SELECT winner
    FROM nobel 
    WHERE subject='Economics'
    AND yr <= ALL(SELECT yr FROM nobel
              WHERE subject='Economics') 

    4.哪几年颁发了物理奖,但没有化学奖

    SELECT DISTINCT yr
    FROM nobel
    WHERE subject='Physics'
    AND yr NOT IN (SELECT yr FROM nobel
                   WHERE subject='Chemistry')

    5.哪几年得奖者人数多于12人,列出获奖人数多于12人的年份,奖项和得奖者

    SELECT yr,subject,winner
    FROM nobel
    WHERE yr IN (SELECT yr FROM nobel
                 GROUP BY yr
                 HAVING COUNT(winner) >12)

    6.哪些得奖者得奖大于1次呢?他们是哪一年获得哪个奖项呢?列出他们的名字,获奖年份及奖项。先按名字,再按年份顺序排序。

    SELECT winner,yr,subject
    FROM nobel
    WHERE winner IN (SELECT winner FROM nobel
                     GROUP BY winner
                     HAVING COUNT(subject)>1)
    ORDER BY winner,yr

  • 相关阅读:
    50个提高PHP程序运行效率的方法
    虚拟主机FTP上传文件为什么要用二进制上传
    Status Bar 总结
    TableView 总结
    阿里Java开发手册(泰山版)个人记录
    下载excel模板
    微信公众号-发送模板消息
    ffmpeg获取视频时长
    微信公众号授权
    根据word模板生成word、转换成pdf、打成war包
  • 原文地址:https://www.cnblogs.com/tuzinn/p/13835583.html
Copyright © 2011-2022 走看看