数据库练习题(五)

一、【问题描述】

阅读下列说明,回答问题 1 至问题 3
[说明]
某网上书店后台数据库的部分关系模式如下:
会员(会员编号,用户名,密码,姓名;地址,邮编,电话,消费额,积分)
图书(图书编号,类型名称,图书名称,作者,出版社,出版日期,ISBN,价格)
订单(订单编号,用户名,销售额,订购日期,出货日期)
订单明细(订单明细编号,订单编号,图书编号,数量)
[问题 1]
下面是创建订单关系的 SQL 语句,订单编号唯一识别一个订单,用户名为订购图书的会员用户名,且不能为空。要求订购日期不能大于出货日期。请将空缺部分补充完整。
CREATE TABLE 订单(
订单编号 CHAR(6) (a)
用户名 VARCHAR(40)NOT NULL (b) ,
销售额 FLOAT,
订购日期 DATE NOT NULL,
出货日期 DATE © );
[问题 2]
请完成下列查询的 SQL 语句。
(1)查询名称中包含“数据库”的图书的图书名称,作者,出版社和出版日
期。
SELECT (d)
FROM 图书
WHERE 图书名称 (e) ;
(2)查询提供销售(图书表中有)但没有销售过(没在订单明细表中出现)的图
书名称和出版社。
SELECT 图书名称,出版社
FROM 图书
WHERE NOT EXISTS (
SELECT (f)
FROM 订单明细
WHERE (g) );
(3)查询订购图书数量最多的会员名及其订购的数量。
SELECT 用户名, (h)
FROM 订单,订单明细
WHERE (i)
GROUP BY 用户名
HAVING (j)
(SELECT SUM (数量)
FROM 订单,订单明细
WHERE 订单.订单编号=订单明细.订单编号
GROUP BY 用户名);

二、【问题解答】

【问题一】
(a) PRIMARY KEY或NOT NULL UNIQUE或UNIQUE NOT NULL
(b) REFERENCES 会员(用户名)或REFERENCES会员
© CHECK(订购日期<=出货日期)或
CONSTRAINT chk- date CHECK(订购日期< =出货日期)
(注: chk_ date可为其他名称)
[问题2]
(1) (d)图书名称,作者,出版社,出版日期
(e)LIKE’ %数据库%’
(2) (f)*
(g)图书.图书编号=订单明细.图书编号
(3) (h)SUM(数量)
(i)订单、订单编号=订单明细.订单编号
(j) SUM(数量)> =ALL

  • 2
    点赞
  • 16
    收藏
    觉得还不错? 一键收藏
  • 2
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值