SQLZOO nobel 这一章最后一个题 按照答案总是报错:Incorrect syntax near the keyword 'IN'.
这一题是前面章节的题目,基本的查询,但是却遇到了问题。
先来看看这个题对应的数据表
表名是noble,有三列分别是yr、subject、winner,非常简洁
然后再来看一下第14题的题目
从表中找出1984年的获奖人员及奖项,按照人名排列但是要求化学和物理学的奖项列在了最后。
根据提示可以使用subject IN的语句。
先执行给出的默认代码段看看存在什么问题,结果上来就报错: Incorrect syntax near the keyword 'IN'
按照大神给出的答案复制粘贴过来试一下,(只要我能搜到答案,就代表我会了)
SELECT winner, subject
FROM nobel
WHERE yr = 1984
ORDER BY subject IN ('Chemistry', 'Physics'), subject, winner
问题来了,同样的错误: Incorrect syntax near the keyword 'IN'
好像所有的答案都是这样的,
然后忽然记起来别人介绍SQLZOO的时候说过它支持多种引擎,于是乎翻到最上面,找到设置的图标,把引擎改成MySQL,在重新试一下就流畅啦。
另外,不能直接抄答案啦,这一题究竟为什么做这样就可以参考下面的链接啦:
https://blog.csdn.net/qq_43695353/article/details/112506848