sqlzoo刷题——select from nobel(诺贝尔获奖查询)

本文详细记录了在SQLZOO上进行的诺贝尔获奖查询实践,涵盖不同年份、奖项和获奖者的各种查询案例。通过具体代码展示如何获取特定年份的获奖信息、特定奖项的获奖者等,同时讲解了SQL查询逻辑和技巧,包括LIKE操作符、IN和NOT IN的使用、多条件查询以及ORDER BY排序等。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

前言

本文章记录sqlzoo刷题过程以及解题思路,每个小节不仅包含练习,还有选择题(quiz)部分的实现思路
网址:sqlzoo

一、代码输入

在这里插入图片描述

  1. 更改查詢以顯示1950年諾貝爾獎的獎項資料

查询结果包含哪些列——全部
有什么条件——年份1950
查询逻辑——选择表所有列,年份=1950

SELECT *
  FROM nobel
 WHERE yr = 1950
  1. .顯示誰贏得了1962年文學獎(Literature)

查询结果列——获奖者
条件——
1、年份:1962
2、学科:文学奖
3、注意where中多个条件用and连接,不是逗号。
查询逻辑——选择全表的winner列,年份=1962,学科=文学奖

select winner
from nobel 
where yr=1962 and subject='Literature'
  1. 顯示“愛因斯坦”(‘Albert Einstein’) 的獲獎年份和獎項。

查询结果列——年份,奖项
条件——获奖者:爱因斯坦
查询逻辑——选择表yr,subject列,winner=爱因斯坦

select yr,subject
from nobel
where winner='Albert Einstein'
  1. 顯示2000年及以後的和平獎(‘Peace’)得獎者。

查询结果列——获奖者
条件——
1、年份:>=2000
2、奖项:和平奖
查询逻辑——选择全表的winner列,yr>=2000,奖项=和平奖

select winner
from nobel
where yr>=2000 and subject='Peace'
  1. 顯示1980年至1989年(包含首尾)的文學獎(Literature)獲獎者所有細節(年,主題,獲獎者)。

查询结果列——全部
条件——
1、年份:[1980,1989]
2、奖项:文学奖
查询逻辑——选择全表的列,年份用between…and…代表时间范围,奖项=文学奖

select *
from nobel 
where yr between 1980 and 1989 and subject='Literature'
  1. 顯示總統獲勝者的所有細節:
    西奧多•羅斯福 Theodore Roosevelt
    伍德羅•威爾遜 Woodrow Wilson
    吉米•卡特 Jimmy Carter

查询结果列——全部
条件——获奖者:三个人(使用in关键字,表示在这个范围内的人都符合条件)
查询逻辑——选择表所有列,winner in()

SELECT * FROM nobel
 WHERE winner IN ('Theodore Roosevelt',
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值