【说明】
某超市的销售业务由一个销售业务管理系统进行管理,该系统每完成一次交易都需要提供顾客发票,其格式如表1-1所示。
对于这样一个销售业务管理系统,分别给出了以下两种关系数据库的设计(下划线表示主关键字)
设计一:
顾客Customer(顾客代码Cno,姓名name,住址address,联系电话phone)
收银员Salesman(收银员代码Sno,身份证号idno,姓名flame,住址address,联系电话phone)
商品Merchandise(商品代码Milo,商品名称Mname,价格price)
发票Invoice(发票号码Ino,交易日期Idate,顾客代码Cno,收银员代码Sno,商品代码Mno,单价unitprice,数量amount)
设计二:
顾客Customer(顾客代码Cno,姓名name,住址address,联系电话phone)
收银员Salesman(收银员代码Sno,身份证号idno,姓名name,住址address,联系电话吵one)
商品Merchandise(商品代码Mno,商品名称mllame,价格pnce)
发票Invoice(发票号码Ino,交易日期Idate,顾客代码Cno,收银员代码Sno)
发票明细Invoicedetail(发票号码Ino,商品代码Uno,单价unitprice,数量amount)
【问题3】 根据设计二中关系模式,以下SQL语句是用于“查询从未售出的商品信息”的不完整语句,请填补其中的空缺。 SELECT Mno, Mname, price FROM Merchandise (1) WHERE (2) (SELECT (3) FROM Invoice, detail WHERE A.Mno=Invoice, detail. Mno); |
参考答案:
解析:A和ASA (2)NOT EXISTS (3) *
[分析]:本题是查询从未售出的商品信息。 SQL语句中有两种格式为表或视图取别名:“表名AS别名”或“表名别名”。由题中可以看出Memhandise的别名是A,因此填空(1)的答案是A或者ASA。 要查询“从未出售”的商品,也就是要查询的商品在交易记录中不存在,因此(2)空的答案是NOTEXISTS。