SQLZOO答案-The nobel table can be used to practice more subquery

1.紅十字國際委員會 (International Committee of the Red Cross) 曾多次獲得和平獎。 試找出與紅十字國際委員會同年得獎的文學獎(Literature)得獎者和年份。

SELECT * FROM nobel 
where winner = 'International Committee of the Red Cross'

2.日本物理學家益川敏英 (Toshihide Maskawa) 曾獲得物理獎。同年還有兩位日本人一同獲得物理獎。試列出這2位日本人的名稱。

SELECT  winner
  FROM nobel
where subject = 'physics' 
  AND yr = (SELECT yr FROM nobel WHERE winner = 'Toshihide Maskawa') 
  AND winner != 'Toshihide Maskawa';

 

3.首次頒發的經濟獎 (Economics)的得獎者是誰?

SELECT winner 
  FROM nobel 
WHERE subject = 'Economics' 
  AND  yr = ( SELECT yr FROM nobel WHERE subject = 'Economics'
  ORDER BY yr LIMIT 1)

注:Order by 按照时间排序(默认从小到大升序排序)可得出所有颁奖时间,limit 1则可得出首次颁奖时间。

 

4.哪幾年頒發了物理獎,但沒有頒發化學獎?

SELECT distinct yr
  FROM nobel
WHERE subject = 'Physics'

 

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(winner)>1)
ORDER BY winner, yr

 

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值