- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
SQL语句综合训练实习报告
信 息 工 程 学 院
(SQL Server 2008) 实习报告
CREATE VIEW A1(ATHno,scor)
AS
SELECT ATHno,SUM(Score)
FROM SCORE
GROUP BY ATHno;
然后建立运动员编号和他的总积分以及所属系名的视图,即在视图A1与表ATHLETE的基础上再建立一个视图A2;
CREATE VIEW A2(ATHno,scor,Adepart)
AS
SELECT A1.ATHno,scor,Adepart
FROM A1,ATHLETE
WHERE A1.ATHno=ATHLETE.ATHno;
然后再建立一个系名以及每个系的总积分,即在视图A2的基础上再建立一个视图A3;
CREATE VIEW A3(Adepart,ssum)
AS
SELECT Adepart,SUM(scor)
FROM A2
GROUP BY Adepart
;
然后从视图A3进行操作,查询最高积分以及系名,查询语句如下:
SELECT Adepart,
FROM A3
WHERE ssum =
(SELECT MAX(ssum)
FROM A3
);
SELECT MAX(ssum)
FROM A3
;
然后执行,结果如下:
本来想让两个一起输出,但是一直提示写得语句有错误,最后只是实现了如上所示的查询,只能两个分开。
我写的比较麻烦,应该还有简单点的方法,需要我继续努力。
(2)找出在1操场进行比赛的各项目名称及其冠军的姓名。
此题我仍然仿照第一题的做法,先建立几个视图,然后对试图进行查询操作,写的也有点麻烦。
首先,先建立一个项目比赛地点,运动员编号,比赛编号,以及对应得分的视图,即在表ITEM,与SOCRE的基础上建立视图B1;
CREATE VIEW B1
AS
SELECT Ilocation,SCORE.ITEMno,ATHno,Score
FROM ITEM ,SCORE
WHERE Ilocation=1操场AND SCORE.ITEMno=ITEM.ITEMno;
CREATE VIEW B2(ITEMno,maxsocre)
AS
SELECT ITEMno,MAX(Score)
FROM B1
GROUP BY ITEMno
然后进行查询操作,利用嵌套查询,实现的SQL语句如下:
SELECT Aname
FROM ATHLETE
WHERE ATHno IN
(SELECT ATHno
FROM B1
WHERE Score =
(SELECT maxscore
FROM B2)
)
然后执行结果如下:
我觉得此题也应该有更好的解决办法,我写的有点麻烦,还需要再次改进。
找出参加了张三所参加的所有项目的其他同学的姓名。
SQL语句为:
SELECT Aname
FROM ATHLETE
WHERE ATHno IN
(SELECT ATHno
FROM SCORE
WHERE ITEMno IN
(SELECT ITEMno
FROM SCORE
WHERE ATHno IN
(SELECT ATHno
FROM ATHLETE
WHERE Aname=张三)))
EXCEPT
SELECT Aname
FROM ATHLETE
WHERE Aname=张三
程序执行结果为:
建立视图文件,查询每个项目的项目名称、运动员姓名和所属系名。
SQL语句为:
CREATE VIEW IS_A
AS
SELECT Iname,Aname,Adepart
FROM ATHLETE,ITEM,SCORE
WHERE ITEM.ITEMno=SCORE.ITEMno AND SCORE.ATHno=ATHLETE.ATHno
结果为:
经查张三因为使用了违禁药品,其成绩都记0分,请在数据库中做出相应修改。
SQL语句为:
UPDATE SCORE
SET Score=0
WHERE ATHno IN
(SELECT ATHno
FROM ATHLETE
WHERE Aname=张三)
程序执行结果为:
而最初的数据为:
即学号为1002的值全部变为0,修改成功。
7.经组委会协商,需要删除女子跳高比赛项目。
SQL语句为:
DELETE
FROM SCORE
WHERE ITEMno IN
(SELECT ITEMno
FROM ITEM
WHERE Iname=女子跳高);
DELETE
FROM ITEM
WHERE Iname=女子跳高;
然后对两个表格分别编辑前两百行,可以看到:
最开始的数据分别为:
对比可以看出删除了编号为x004的一组。
新建一个服务器用户user2,使user2可以访问数据库y_x_c,对运动员表有查询和修改权限,没有插入和
您可能关注的文档
最近下载
- 土地资源调查课件.pptx VIP
- 2025教学主任及教秘专项培训班考核试卷含答案.docx
- QC∕T 948-2013 汽车顶部装载装置.pdf VIP
- 八上名著《红岩》:故事梗概+知识点+考点大集合.doc VIP
- 《劳动经济学讲义》课件.ppt VIP
- ISO各体系认证审核前准备资料清单.doc VIP
- 巧虎目录清单.doc VIP
- 销售管理专业《销售案例研究 ( 实践 ) 》课程调研报告样本.pdf VIP
- 2025年新精通版(三年级起)英语三年级上册课件 Unit 2 Lesson 3 .pptx VIP
- 场效应MOS管AK4435参数-9.1A-30V封装SOP-8.pdf VIP
文档评论(0)