下列小题使用如下三个表: 职员.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

admin2013-11-12  15

问题 下列小题使用如下三个表:
职员.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/Yrop777K
0

最新回复(0)