问答题 [问题2] 请根据如下查询语句,回答问题(d),(e)和(f)。 SELECT客户号 FROM订单,订单明细 WHERE订单明细.订单号=订单.订单号AND 产品号='02' AND 数量>10; (d) 上述查询语句的功能是什么?请简要回答。(30个字以内) (e) 将上述查询语句转换成对应的关系代数表达式。 (f) 上述SQL查询语句是否可以进一步优化?如可以,给出优化后的SQL查询语句。
【正确答案】
【答案解析】查询一次订购(或购买)产品号为02的数量大于10的客户号 (e) (f)可以优化。优化的SQL语句为: SELECT客户号 FROM 订单 WHERE 订单号 IN (SELECT 订单号 FROM 订单明细 WHERE产品号='02' AND数量>10); [分析] 本题考核的知识点包括SQL的查询命令与关系代数表达式的互相转换以及SQL的查询优化。 SELECT语句的功能是:查询一次订购(或购买)产品号为02的数量大于10的客户号。 根据关系代数表达式的定义,将上述查询语句转换成对应的关系代数表达式为: