请根据如下查询语句,回答问题(d),(e)和(f)。
SELECT客户号
FROM订单,订单明细
WHERE订单明细.订单号=订单.订单号AND
产品号='02' AND
数量>10;
(d) 上述查询语句的功能是什么?请简要回答。(30个字以内)
(e) 将上述查询语句转换成对应的关系代数表达式。
(f) 上述SQL查询语句是否可以进一步优化?如可以,给出优化后的SQL查询语句。
第1题:
有以下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姓名=”王五”)
第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 订单号,签订日期,金额 FRM 订单 WHERE IM (SELECT 职员号 FROM 职员 WHERE 姓名="李二")
D.SELECT 订单号,签订日期,金额 ROM 订单 WHERE IN(SELECT 职员号FROM 职员 WHERE 职员号=订单.职员号 AND 姓名="李二")
第3题:
有订单表如下:
订单(订单号(C,4),客户号(C,4),职员号(C,3),签订日期(D.,金额(N,6,2))
查询所有金额大于等于平均金额的订单的订单号,正确的SQL语句是( )。
A.SELECT订单号FROM订单WHERE金额>=(SELECT AVG(金额)FROM订单)
B.SELECT订单号FROM订单WHERE金额=(SELECT AVG(金额)FROM订单)
C.SELECT订单号FROM订单WHERE金额>=ALL(SELECT AVG(金额)FROM订单)
D.SELECT订单号FROM订单WHERE金额=ALL(SELECT AVG(金额)FROM订单)
第4题:
显示2005年1月1日后签订的订单,显示订单的订单号、客户名以及签订日期。正确的SQL语句是( )。
A.SELECT 订单号,客户名,签订日期FROM订单JOIN客户 ON 订单.客户号=客户.客户号 WHERE 签订日期>{^2005-1-1}
B.SELECT 订单号,客户名,签订日期 FROM 订单 JOIN 客户 WHERE 订单.客户号=客户.客户号 AND 签订日期,{^2005-1-1)
C.SELECT 订单号,客户名,签订日期 FROM 订单,客户 WHERE 订单.客户号=客户.客户号 AND 签订日期<{^2005-1-1}
D.SELECT订单号,客户名,签订日期 FROM 订单,客户 ON 订单.客户号=客户.客户号 AND 签订日期<{^2005-l-1}
第5题:
有如下职员表和订单表:职员(职员号(C,3),姓名(C,6),性别(C,2),职务(C,10))订单(订单号(C,4),客户号(C,4),职员号(C,3),签订日期(D),金额(N,6,2))查询职工〝李丽〞签订的订单消息,正确的SQL.语句是( )。
A.SELECT订单号,客户号,签订日期,金额FROM订单WHERE姓名=〝李丽〞
B.SELECT订单号,客户号,签订日期,金额FROM职员,订单WHERE姓名=〝李丽〞; AND职员.职员号一订单.职员号
C.SELECT订单号,客户号,签订日期,金额FROM职员JOIN订单; WHERE职员.职员号=订单.职员号AND姓名=〝李丽〞
D.SELECT订单号,客户号,签订日期,金额FROM职员,订单ON职员.职员号=订单.职员号AND姓名=〝李丽〞