SQLZOO诺贝尔教程#10

时间:2015-05-15 18:17:53

标签: sql

http://sqlzoo.net/wiki/SELECT_from_Nobel_Tutorial

问题陈述如下;我正在研究SQLZoo Nobel教程#10。

  

显示谁赢得了医学'在早年(1910年之前,不是   包括1910年)以及“文学”的获奖者。奖品   晚年(2004年之后,包括2004年)

我是SQL的新手,我真的不知道为什么我的答案是错的:

SELECT * FROM nobel
WHERE ( subject = 'Medicine' AND yr < 1910 )
OR ( subject = 'Literature' AND yr > 2004 );

先谢谢你们。

2 个答案:

答案 0 :(得分:0)

这是一个愚蠢的答案,但你唯一的问题是界限。

  

显示谁在早年(1910年之前)获得了“医学”奖,而不是   包括1910年)以及“文学”奖的获奖者   晚年(2004年之后,包括 2004年)

答案是2004年需要>=

SELECT *
FROM nobel
WHERE (Subject = 'Medicine' AND YR < 1910)
OR (Subject = 'Literature' AND YR >= 2004)

答案 1 :(得分:0)

您必须通过在条件中添加=来包含2004年数据

SELECT * FROM nobel
 WHERE ( subject = 'Medicine' AND yr < 1910 )
 OR ( subject = 'Literature' AND yr >= 2004 );

你必须改变

OR ( subject = 'Literature' AND yr >2004 );

OR ( subject = 'Literature' AND yr >= 2004 );