问题
单项选择题
在成绩表中,查找数学分数最低的学生记录,下列SQL语句的空白处应填入的是( )。
SELECT*FROM成绩;
WHERE数学<=______;
(SELECT数学FROM成绩)
A.SOME
B.EXISTS
C.ANY
D.ALL
答案
参考答案:D
解析: ANY、ALL和SOME是量词,其中ANY和SOME是同义词,在进行比较运算时只要子查询中有一行能使结果为真,则结果为真;而ALL则要求子查询中的所有行都使结果为真时,结果才为真。
EXISTS是谓词,EXISTS和NOT EXISTS是用来检查在子查询中是否有结果返回(即存在元组或不存在元组)。
本题首先通过子查询得到“成绩”表中所有学生的“数学”成绩,然后在主程序中求出小于等于子查询中所有数学成绩的记录。这里用到了一个“全部”的关系,因此使用ALL短语。