- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
数据库实验报告(四)
班别:13统计2班 姓名: 学号:2013240942 评分:
实验题目 数据库操作--索引,视图与查询(一) 实验目的 掌握用 SQL 命令创建索引
掌握用 SQL 命令创建数据视图;
掌握用 SQL 命令进行单表查询CREATE UNIQUE CLUSTERED INDEX Clano ON Class(Classid);
GO
CREATE UNIQUE CLUSTERED INDEX CLAno ON ClassAssign (Classid);
GO
CREATE UNIQUE CLUSTERED INDEX Crno ON Classroom (Roomid);
GO
CREATE UNIQUE CLUSTERED INDEX Courno ON Course (Cid);
GO
CREATE UNIQUE CLUSTERED INDEX Depno ON Department (Deptid);
GO
CREATE UNIQUE CLUSTERED INDEX Enrno ON Enrollment (Sid);
GO
CREATE UNIQUE CLUSTERED INDEX Stuno ON Student (sid);
GO
CREATE UNIQUE CLUSTERED INDEX Teano ON Teacher (Tid);
GO
为Course表建立一基于课程名(Cname)的唯一索引:
CREATE UNIQUE INDEX COCN ON Course(Cname);
为 Department表基于系名(Dname) 建立一唯一索引:
CREATE UNIQUE INDEX DEDN ON Department(Dname);
为 Student表基于姓名(sname)和年龄(sage)建立一非聚簇索引,使数据基于姓名的升序和年龄的降序排列:
CREATE NONCLUSTERED INDEX STSN ON Student(Sname ASC,Sage DESC);
建立一视图,用于以后维护数学系的学生信息:
CREATE VIEW MA_Student
AS
SELECT Sname,sid,Sage
FROM Student
WHERE Deptid=MA
WITH CHECK OPTION
删除Student表中基于sname和sage的非聚簇索引:
DROP INDEX STSN ON Student
查询数学系(MA)全体学生的学号,姓名和年龄:
SELECT Sid,Sname,Sage
FROM Student
WHERE Deptid=MA
查询计算机系(CS)小于19岁的学生的学号:
SELECT Sid
FROM Student
WHERE Sage19 AND Deptid=CS
查询信息1班的学生的平均年龄:
SELECT AVG(Sage)
FROM Student
WHERE Classid=信息1班
MA001最好成绩的学生的学号和成绩:
SELECT Sid,grade
FROM Enrollment
WHERE grade IN
(SELECT MAX(grade)
FROM Enrollment
WHERE Cid=MA001);
查询选修了MA001,MA002,CS005,IS003,EN004号课程中任一课程的学生的学号及姓名:
SELECT Sid,Sname
FROM Student
WHERE Sid IN(
SELECT Sid
FROM Enrollment
WHERE Cid IN(MA001,MA002,CS005,IS003,EN004))
查询所有至少有三门课程不及格的学生的学号,姓名:
SELECT Sid,Sname
FROM Student
WHERE Sid IN(
SELECT Sid
FROM Enrollment
GROUP BY Sid
HAVING COUNT(*)2
)
INTERSECT
SELECT Sid,Sname
FROM Student
WHERE Sid IN(
SELECT Sid
FROM Enrollment
WHERE grade60)
查询金融2班全体学生课程MA001的平均成绩:
SELECT AVG(grade)
FROM Enrollment
WHERE Sid IN(
SELECT Sid
FROM Student
WHERE Classid=金融2班 AND Cid=MA001
)
SELECT Sname,Sage,Sid
FROM Stud
原创力文档


文档评论(0)