以下SQL语句用于查询没有订购产品代码为“1K10”的产品的所有客户名。请填补其中的空缺。 SELECT Cus
以下SQL语句用于查询没有订购产品代码为“1K10”的产品的所有客户名。请填补其中的空缺。
SELECT CustomerName FROM Customer (1)
WHERE (2)
(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是修改数据模型。一个客户可以下多张订单,一张订单只属于一个客户,所以客户与订单之间是一对多关系;一张订单有多条订单项目,一条订单项目只属于一张订单,因此订单与订单项目之间是一对多关系;一条订单项目只包含一种产品,一种产品可以出现在多条订单项目中,故订单项目与产品之间是多对一关系。因此可得修改后的数据模型如下:
甲公司有如下要求;“客户购货计价采用订货时的单价。订货后,即使单价发生变化,计算用的单价也不变。”但既没有在OrderDetail表中记录产品的单价,也没有在Order表中记录订单的总价,所以当产品单价发生变化时,订单总金额只能根据新单价重新计算,不能满足甲公司的要求。
要满足上述要求,可有两种解决办法:一是在Order表中增加一个表示订单总金额的数据项,这样即使订货后单价发生改变,亦不必重新计算总金额,仍采用订货时的单价:另一种则是在OrderDetail表中增加表示产品单价的数据项,每一条订单项目都有对应产品单价,记录客户订货时的产品单价,这样产品单价发生变化后亦不影响。
问题3是识别OrderDetail关系模式的主键。考虑到一个由订单号OrderNo唯一标识的订单包含多条订单项目,一种由产品编号ProductNo唯一标识的产品可以出现在多条订单项目中,因此OrderDetail表中的关键项应为“OrderNo,ProductNo”。
问题4是填充SQL查询语句。由于内层查询中出现表名A,而其他地方并未定义A,因此空(1)应填as A(或直接填A),表示Customer表的简称。子查询表示选择出某一个客户的所有订单所包含的订单项目中含有产品“1K10”的订单和订单项目的详细信息。如果一个客户没有订购“1K10”产品,这个子查询将返回空,故空(2)应填“NOT EXIST”。
关于人名后面加’s的问题名字后加's是物主代词,但是有没有这种情况:Ben'sveryhappy. 英语 2020-04-26 …
分数拆分:1/s(s-1)^3如题答案是-1/s+1/(s-1)-1/(s-1)^2+1/(s-1 数学 2020-05-14 …
怎么求弹道曲线弹道曲线在不同的情况下的阻力都不同,有没有一个通式之类的.还有,弹道曲线的S-T图像 物理 2020-05-14 …
She's never been to Xi'an.(反意疑问句)She's never been 英语 2020-05-16 …
在并行数据库中,有关系R(A,B.和S(A,C.,需要将它们根据A属性拆分到不同的磁盘上。现有查询S 计算机类考试 2020-05-23 …
在某并行数据库中,有关系R(A,B)和S(B,C),其中R包含1000000行数据,S包含100行数 计算机类考试 2020-05-23 …
gotothemovies去看电影,movie后面为什么要加s类似的句子有:gotothecine 英语 2020-07-24 …
这个select语句怎么写select*fromfriendwhere.这个where我想表达这样 英语 2020-07-26 …
x=f1(s,t)y=f2(s,t)z=f3(s,t)用matlab计算出F(x,y,z)=0x=f 数学 2020-11-01 …
等比数列的项数为偶数,奇数项的和为S基,偶数项的和为S偶,S偶/S奇=q那有没有项数为奇数项,求S奇 数学 2020-12-23 …