职员.DBF:职员号C(3),姓名C(6),性别C(2),组号N(1),职务C(10) 客户.DBF:客户号C(4),客户名C(36),地址C(36),所在城市C(36) 订单.DBF:订单号C(4),客户名C(4),职员号C(3),签订日期D,金额N(6

admin2013-03-26  36

问题 职员.DBF:职员号C(3),姓名C(6),性别C(2),组号N(1),职务C(10)
客户.DBF:客户号C(4),客户名C(36),地址C(36),所在城市C(36)
订单.DBF:订单号C(4),客户名C(4),职员号C(3),签订日期D,金额N(6.2)
有以下SQL语句:
SELECT 订单号.签订日期,金额 FROM 订单,职员
WHERE 订单.职员号=职员.职员号 AND 姓名="王五"
与如上语句功能相同的SQL语句是(       )。

选项 A、SELECT 订单号,签订日期,金额 FROM 订单
WHERE EXISTS(SELECT * FROM 职员 WHERE 姓名="王五")
B、SELECT 订单号,签订日期,金额 FROM 订单 WHERE
EXISTS(SELECT * FROM 职员 WHERE 职员号=订单.职员号 AND 姓名="王五")
C、SELECT 订单号,签订日期,金额 FROM 订单
WHERE IN (SELECT 职员号 FROM 职员 WHERE 姓名="李二")
D、SELECT 订单号,签订日期,金额 FROM 订单 WHERE
IN(SELECT 职员号 FROM 职员 WHERE 职员号=订单.职员号 AND 姓名="王五")

答案B

解析 谓词EXISTS用来检验在子查询中是否有结果返回,本题中内层查询引用了外层查询的表,所以也是内外层互相关嵌套查询。故排除选项A,C、D的错误之处是在WHERE和IN之间缺少"职工号"。
转载请注明原文地址:https://kaotiyun.com/show/v5sp777K
0

最新回复(0)