问题:
[单选] 第题使用如下数据。
部门(部门号C(2)、部门名称C(10))
职工(部门号C(2)、职工号C(4)、姓名C(8)、基本工资 N(7,2))
检索有职工的基本工资大于或等于“11”部门中任意一名职工工资的“部门号”,正确的语句是( )。
A . SELECt DISTINCT部门号FROM职711 WHERe基本工资>=ANY(SELECt基本工资FROM职工WHERe部门号一”ll”)
B . SELECt DISTINCT部门号FROM职工WHERe基本工资>=ALL(SELECt基本工资FROM职工WHERe部门号 一”ll”)
C . SELECt DISTINCT部门号FROM职工WHERe基本工资>=ANY(SELECt MAX(基本工资)FROM职工WHERe部门号=”ll”)
D . SELECt DlSTINcT部门号FROM职工WHERe基本工资>=ALL(SELECt MIN(基本工资)FROM职工WHERe部 门号=”11”)
正确答案:B
参考解析:B。【解析】在SQL语句中可以利用ANY、ALL等量词进行查询。基本格式为: <表达式><比较运算符>[ANY IALLI SOME](子查询)其中,ANY(任意的)和SOME(一些)表示只要子查询中存在符合条件的行,结果就成立;而ALL(所有的)只有子查询中的所有行都符合条件,结果才成立。 本题中要求检索有职工的基本工资大于或等于“ll”部门中任意一名职工的工资的部门号,等价于其他部门职工的基本工资有大于或等于“ll”部门中所有职工的工资,因此要使用ALL短语。选项C和D的属于语法错误,SQL不支持此类型查询。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)