- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
数据库原上机自考试题_2009年6月5日下午_B卷
北京市数据库自考上机考试题目
【要求:不允许使用临时表。第5题必须使用游标,其它各题不允许使用游标,数据库表名前面务必添加自己帐号】
某个汽车销售代理商的数据库系统包括如下三个表:
汽车公司 (公司编号, 公司名,所在地)
注:公司名唯一
汽车 (汽车编号, 车型名, 公司编号,单价, 保修期)
注:公司编号是外码 ,保修期是大于等于6的整数,表示保修的月数,缺省值是12个月
交易记录(交易编号, 汽车编号, 销量, 销售日期,销售人员编号)
注:汽车编号和销售人员编号是外码,销量必须大于0,销售日期是datetime类型
销售人员(销售人员编号, 姓名)
注:所有带下划线的属性均表示主码
试用SQL语句完成下列功能:
在数据库中建立上述三个表,写明主码,外码和其它约束条件(10分)。
在三个表中插入如下数据(5分):
汽车公司(
001,通用,上海
002,奇瑞,广州
003,丰田,上海)
汽车(
01,别克,001,60000,36
02,雪佛莱,001,30000,12
03,QQ,002,20000,6
04,凯迪拉克,001,100000,36
05,威驰,003,40000,12
06,嘉美,003,80000,24)
交易记录(
1,01,10,2007-09-02,1
2,01,1,2008-3-12,3
3,02,3,2007-1-1,3
4,01,2,2003-4-9,4
5,02,9,2004-1-8,1
6,04,1,2008-8-8 8:8:8,4
7,04,2,2007-2-3,2
8,03,5,2006-1-21,5
9,03,7,2008-3-5,2
10,05,1,2008-1-2,2
11,06,3,2001-3-1,5
12,05,2,2006-3-2,4
13,02,1,2006-1-1,4
14,01,3,2007-1-5,7
15,02,100,2008-3-2,7
16,01,20,2009-6-1,7
)
销售人员(
张三
李四
王二
赵五
钱六
丁七
完成如下查询(每个10分,共40分):
列出每个销售人员的交易情况,需要含有以下3列:销售人员名称,销售汽车总量,销售总金额。
select 姓名,sum(销量) 销售总量,sum(单价*销量) 总金额
from 销售人员,汽车,交易记录 where 交易记录.销售人员编号=销售人员.销售人员编号 and 交易记录.汽车编号=汽车.汽车编号
group by 姓名
列出卖出的总数量为前三名的汽车公司,从多到少排序,需给出汽车公司编号和公司生产的每款车的销量。
(注:该题只能取出按公司和车型共同排序的前3名,不能单取前三名公司,原题有些问题)
Select stop 3 公司编号,汽车.汽车编号,sum(销量) 卖出总量
from 汽车,交易记录 where 交易记录.汽车编号=汽车.汽车编号
group by 公司编号, 汽车.汽车编号
order by 公司编号,3 desc
列出每年每种车型销售的汽车总量,需要含有以下两列:年份(整数),车型名,车型本年度的销售总量。
select year(销售日期),车型名,sum(销量) 销售总量
from 汽车,交易记录
where 交易记录.汽车编号=汽车.汽车编号
group by year(销售日期),车型名
列出销售了所有汽车车型的销售人员的姓名。
select 姓名 from 销售人员 where not exists
(select * from 汽车 where not exists
(select * from 交易记录 where 交易记录.汽车编号=汽车.汽车编号
and 交易记录.销售人员编号=销售人员.销售人员编号))
在销售人员中增加一列“工资”,工资的值为此销售人员卖出的汽车总数量×100(15分)。
在销售人员中增加一列“工资”:
Alter table销售人员 add工资 real
update 销售人员 set 工资=100*
(select sum(销量) from 销售人员 as Y ,交易记录
where 交易记录.销售人员编号=Y.销售人员编号 and 销售人员.销售人员编号=Y.销售人员编号
group by Y.销售人员编号)
国家于2008年1月起支持汽车工业发展,在此前1年内购买的单价低于50000的汽车退还其总价的7%,高于50000的退还其总价的5%,此后购买的汽车退还其总价的9%,所以用游标完成如下的操作:计算出这个汽车销售代理商总共需要退还的金额(15分)。
declare @GSBH char(3)
declare @ZJE int
declare @JE1 int
dec
文档评论(0)