列出Student_db数据库中选修了“9710011”(即“大学生计算机基础”)课程的学生的成绩比选修“29000011”(“体育”)课程的学生的最低成绩高的学生的学号和成绩。
在查询分析器中输入并运行以下语句:
SELECT St_Id,Score
FROM S_C_Info
WHERE C_No='9710011'AND
Score>ANY (SELECT Score FROM S_C_Info WHERE C_No='29000011')
为什么是选了计算机基础的学生成绩高于体育的任何一个成绩???
我知道ANY是任何的意思,只是对于这个条件能执行出符合题意的结果不太理解。
追答因为Score 大于(SELECT Score FROM S_C_Info WHERE C_No='29000011')也就是(“体育”)学生的所有成绩,
------比体育学生的所有成绩大的,当然也会大于其中的最小成绩
例如:4>(0,1,3) 那4肯定大于最小的0了
想明白了,不过没有看你的解析哦,本人反应比较慢,见笑!
我写的这个语句是书上的例题。也就是说例题错了?