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 );
先谢谢你们。
答案 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 );