问答题
【问题4】
以下SQL语句用于查询没有订购产品代码为“1K10”的产品的所有客户名。请填补其中的空缺。
SELECT CustomerName FROM Customer {{U}}(1) {{/U}}
WHERE {{U}}(2) {{/U}}
(SELECT * FROM OrderDetml B,Order C
WHERE B.ProductNo=C.ProductNo
AND B.ProductNo='1KIO'
AND C.CustomerNo=A.CustomerNo)
【正确答案】
【答案解析】(1) A或ASA (2) NOT EXIST
[分析]
问题1是修改数据模型。一个客户可以下多张订单,一张订单只属于一个客户,所以客户与订单之间是一对多关系;一张订单有多条订单项目,一条订单项目只属于一张订单,因此订单与订单项目之间是一对多关系;一条订单项目只包含一种产品,一种产品可以出现在多条订单项目中,故订单项目与产品之间是多对一关系。因此可得修改后的数据模型如下: