问题 单项选择题

设学生关系为Students(Sno,Sname,Sex,Sdept,Sage,Sadd),其中Sno、Sname、Sex、Sdept、Sage、Sadd分别表示学生的学号、姓名、性别、所在系、年龄和住址。查询比计算机系(CS)所有学生年龄都小的其他系的学生姓名及年龄的SQL语句为:

SELECT Sname, Sage

FROM Students

WHERE Sage (61)

(SELECT Sage

FROM Students

WHERE (62) )

AND Sdept<>’CS’;

(62)处填()。

A.Sdept=’CS’

B.Sdept<>’CS’

C.’Sdept’=CS

D.’Sdept’<>CS

答案

参考答案:A

解析:

本题考查SQL语句的基本应用。

在SQL中,聚集函数是以值的集合为输入、返回单个值的函数。SQL提供了5个预定义集函数:avg(求平均值)、min(求最小值)、max(求最大值)、sum(求和)以及count(计数)。若使用ANY和ALL谓词,必须同时使用比较运算符,其含义及等价的转换关系见下表。用集函数实现子查询通常要比直接用ALL或ANY查询效率要高。

ANY、ALL谓词含义及等价的转换关系

按照题意,只要在子查询中将所有计算机系学生的年龄查出,在外查询中找出满足条件“其他系比计算机系所有学生年龄都要小”的学生姓名及年龄,因此完整的SQL语句为:

SELECT Sname, Sage

FROM Students

WHERE Sage <ALL

(SELECT Sage

FROM Students

WHERE SD=’CS’)

AND SD<>’CS’;

填空题
选择题