ANY应该等价于MIN(),为什么查询结果不一样呢?出错在哪?请高手指教!多谢~~题目:查找课程号206的成绩不低于课程号101的最低成绩的学生的学号Sno为学号,SC为学生选课成绩表,Grade为...
ANY应该等价于MIN(),为什么查询结果不一样呢?出错在哪?请高手指教!多谢~~
题目:查找课程号206的成绩不低于课程号101的最低成绩的学生的学号
Sno为学号,SC为学生选课成绩表,Grade为选课成绩,Cno为课程号
查询一:
SELECT Sno
FROM SC
WHERE Sno='206' AND Grade>ANY
(
SELECT Grade
FROM SC
WHERE Cno='101'
)
结果:空值
查询二:
SELECT Sno
FROM SC
WHERE Cno='206'AND Grade>
(
SELECT MIN(Grade)
FROM SC
WHERE Cno='101'
)
结果:有几个值
正确答案应该是二,但是书上给的查询一为何得不到正确值呢?
SC:
Sno Cno Grade
081101 101 80
081101 102 78
081101 206 76
081102 102 78
081102 206 78
081103 101 62
081103 102 70
081103 206 81
081104 101 90
081104 102 84
081104 206 65
081106 101 65
081106 102 71
081106 206 80
081107 101 78
081107 102 80
081107 206 68
081108 101 85
081108 102 64
081108 206 87
081109 101 66
081109 102 83
081109 206 70
081110 101 95
081110 102 90
081110 206 89
081111 101 91
081111 102 70
081111 206 76
081113 101 63
081113 102 79
081113 206 60
081201 101 80
081202 101 65
081203 101 87
081204 101 91
081210 101 76
081216 101 81
081218 101 70
081220 101 82
081221 101 76
081241 101 90
展开