实验二 - 交互式SQL实验报告
更新时间:2023-09-24 22:45:01 阅读量: 综合文库 文档下载
- 实验二小推荐度:
- 相关推荐
数据库实验报告 软件101 李丹 201001014109
试验一 交互式SQL
一 实验目的
1.熟悉数据库的交互式SQL工具。 2.熟悉通过SQL对数据库进行操作。 3.完成作业的上机练习。
二 实验工具SQL Server 2005
利用SQL Server 2005及其交互式查询来熟悉SQL语句。
三 实验内容和要求
1.在SQL Server 2005中建立一个数据库,进行实验所要求的各种操作,所有的SQL操作均在建立的新库里进行;
2.根据以下要求认真填写实验报告,记录所有的实验用例的SQL语言;
3.1 数据定义
(1)熟悉基本表的创建、修改及删除。 (2)熟悉索引的创建和删除。
3.2 数据操作
(1)完成各类查询操作(单表查询,连接查询,嵌套查询)等; (2)完成各类更新操作(插入数据,修改数据,删除数据);
3.3 视图的操作
视图的定义(创建和删除),查询,更新(注意更新的条件)。
3.4 具体操作内容
在MS SQL Server中创建学生-课程数据库,要求有学生表(Student)、课程表(Course)和选课表(SC),向三个表中分别插入相关数据,再用SQL语句完成一下要求的查询。
1.使用SQL语言创建下面的三个表。 表一:学生信息表(Student) 列名 说明 数据类型 约束 Sno 学号 字符串,长度为10 非空 Sname 姓名 字符串,长度为20 非空 Ssex 性别 字符串,长度为10 非空 Sage 年龄 字符串,长度为10 非空 Sdept 所在系 字符串,长度为10 非空 表二:课程信息表(Course) 列 名 说 明 数据类型 约 束 Cno 课程号 整形 非空 Cname 课程名 字符串,长度为20 非空 Cpno 先行课 整型 允许为空 Ccredit 学分 整型 非空 表三:学生选课信息表(SC)
1
数据库实验报告 软件101 李丹 201001014109
列名 说明 数据类型 Sno 学号 字符串,长度为10 Cno 课程号 整型 Grade 成绩 字符串,长度为10 2.在以上的三个表中,分别插入下面的数据; 表一:学生信息表(Student) Sno Sname Ssex 男 女 女 男 200215121 李勇 200215122 刘晨 200215123 王敏 200215125 张立 表二:课程信息表(Course) Cno Cname 1 2 3 4 5 6 7 数据库 数学 信息系统 操作系统 数据结构 数据处理 PASCAl语言 20 19 18 19 约束 主码,引用Student的外码 主码,引用Course的外码 取值0~100 Sage Sdept CS CS MA IS Ccredit 4 2 4 3 4 2 4 Cpno 5 1 6 7 6 表三:学生选课信息表(SC) Sno Cno Grade 200215121 1 92 200215121 2 85 200215121 3 88 200215122 2 90 200215122 3 80 3.根据上面的三种表,写出完成如下查询功能的SQL语句: (1)查询全体学生的姓名、出生年份和所在的院系,要求用小写字母表示所有系名 (2)查询选修了课程的学生学号
(3)查询年龄在20~23岁(包括20岁和23岁)之间的学生的姓名、系别、年龄 (4) 查询计算机科学系(CS)、数学系(MA)和信息系(IS)学生的姓名和性别 (5) 查询以“DB_”开头,且倒数第3个字符为i的课程的详细情况 (6) 查询全体学生情况,查询结果按所在系的系号升序排列,同一系中的学生按年龄降序排
列
(7) 查询选修1号课程的学生最高分数、最低分数、平均分数 (8) 查询选修了3门课程的学生学号
(9) 查询每一门课的间接先修课(即先修课的先修课) (10) 查询选修2号课程且成绩大于等于90分的所有学生 (11) 查询与‘刘晨’在同一个系学习的学生
2
数据库实验报告 软件101 李丹 201001014109
(12) 查询其他系中比计算机科学系所有学生年龄都小的学生姓名及年龄
(13) 将一个新学生元组(学号:200215128;姓名:陈冬;性别:男;所在系:IS;年龄:
18岁)插入到Student表中
(14) 将学生200215121的年龄改为22岁 (15) 删除学号为200215128的学生记录 (16) 建立信息系学生的视图
(17) 在信息系学生的视图中找出年龄小于20岁的学生
(18) 将信息系学生视图is_Student中学号为200215122的学生姓名改为“刘辰”
四 实验报告 4.1 实验环境:
Windows XP
Microsoft SQL server Management Studio 2005
4.2 实验内容与完成情况:
(1) 查询全体学生的姓名、出生年份和所在的院系,要求用小写字母表示所有系名
SELECT Sname NAME,'Year of Birth:' BIRTH,2004-Sage BIRTHDAY,LOWER(Sdept) DEPARTMENT FROM Student;
(2)查询选修了课程的学生学号
SELECT DISTINCT Sno FROM SC;
(3)查询年龄在20~23岁(包括20岁和23岁)之间的学生的姓名、系别、年龄
SELECT Sname,Sdept,Sage FROM Student WHERE Sage BETWEEN 20 AND 23;
(4)查询计算机科学系(CS)、数学系(MA)和信息系(IS)学生的姓名和性别
SELECT Sname,Ssex FROM Student WHERE Sdept IN('CS','MA','IS');
(5)查询以“DB_”开头,且倒数第3个字符为i的课程的详细情况
3
数据库实验报告 软件101 李丹 201001014109
SELECT * FROM Course WHERE Cname LIKE 'DB\\_%__'ESCAPE'\\';
(6)查询全体学生情况,查询结果按所在系的系号升序排列,同一系中的学生按年龄降序排列 SELECT * FROM Student ORDER BY Sdept,Sage DESC;
(7)查询选修1号课程的学生最高分数、最低分数、平均分数
SELECT MAX(Grade) MAX,MIN(Grade) MIN,AVG(Grade) AVG FROM SC WHERE Cno='1';
(8)查询选修了3门课程的学生学号
SELECT Sno FROM SC GROUP BY Sno HAVING COUNT(*)>3;
(8) )查询每个学生及其选修课程的情况
SELECT Student.Sno,Sname,Ssex,Sage,Sdept,Cno,Grade FROM Student,SC WHERE Student.Sno=SC.Sno;
(9)①查询每一门课的间接先修课(即先修课的先修课)
SELECT first.Cno,second.Cpno FROM Course first,Course second WHERE first.Cpno=second.Cno;
②查询每一门课的间接先修课(即先修课的先修课)(消除有空的行)
SELECT first.Cno,second.Cpno FROM Course first,Course second WHERE first.Cpno=second.Cno and second.Cpno is not null;
(10) 查询选修2号课程且成绩大于等于90分的所有学生
①select Student.Sno,Sname,Ssex,Sage, Sdept from Student ,SC where
Student.Sno=SC.Sno and Cno='2' and Grade>=90;
②select Sno,Sname,Ssex,Sage, Sdept from Student where Sno=(select Sno from Sc where Cno='2' and grade >='90');
4
数据库实验报告 软件101 李丹 201001014109
(11) 查询与‘刘晨’在同一个系学习的学生
①select Sno,Sname,Sdept from Student where Sdept in (select Sdept from
Student where Sname='刘晨');
②select S1.Sno,S1.Sname,S1.sdept from Student S1,student S2 where
S1.Sdept=s2.Sdept and S2.Sname='刘晨';
③select Sno,Sname ,Sdept from Student where Sdept =(select Sdept from
student where Sname='刘晨');
④select Sno,Sname,Sdept from Student S1 where exists (select * from Student
S2 where S2.Sdept=S1.Sdept and S2.Sname ='刘晨');
(12)查询其他系中比计算机科学系所有学生年龄都小的学生姓名及年龄 ①select Sname ,Sage from Student
where Sage 'CS';
②select Sname ,Sage from Student
where Sage <(select min(Sage) from Student where Sdept='CS') and Sdept<>'CS';
(13)将一个新学生元组(学号:200215128;姓名:陈冬;性别:男;所在系:IS;年龄:18岁)插入到Student表中
insert into Student(Sno,Sname,Ssex,Sdept,Sage) values ('200215128','陈冬','男','IS','18'); select * from Student;
(14)将学生200215121的年龄改为22岁
update Student set Sage ='22' where Sno='200215121'; select * from Student;
5
正在阅读:
实验二 - 交互式SQL实验报告09-24
深圳奥特迅直流系统培训手册 - 图文10-30
2010年建筑节能与墙体材料革新工作意见03-17
某库区良种奶牛养殖及综合加工新建项目可行性研究报告04-07
统计学课后习题参考答案03-10
年会聚餐发言稿(精选5篇)04-12
牡丹江社保窗口查询02-21
六年级上册语文作文优秀10篇04-02
全国2007年10月自学考试国际市场营销学试题及答案09-10
葛根研究进展08-21
- 多层物业服务方案
- (审判实务)习惯法与少数民族地区民间纠纷解决问题(孙 潋)
- 人教版新课标六年级下册语文全册教案
- 词语打卡
- photoshop实习报告
- 钢结构设计原理综合测试2
- 2014年期末练习题
- 高中数学中的逆向思维解题方法探讨
- 名师原创 全国通用2014-2015学年高二寒假作业 政治(一)Word版
- 北航《建筑结构检测鉴定与加固》在线作业三
- XX县卫生监督所工程建设项目可行性研究报告
- 小学四年级观察作文经典评语
- 浅谈110KV变电站电气一次设计-程泉焱(1)
- 安全员考试题库
- 国家电网公司变电运维管理规定(试行)
- 义务教育课程标准稿征求意见提纲
- 教学秘书面试技巧
- 钢结构工程施工组织设计
- 水利工程概论论文
- 09届九年级数学第四次模拟试卷
- 实验
- 交互式
- 报告
- SQL
- 黄宗羲的民主思想述评
- 地下水污染修复(防控)工作指南(试行) - 图文
- 最新出入境检验检疫局2018年工作总结及2018年工作打算
- 六年级英语下册第三单元复习课教案
- 土地一级开发具体实施流程表
- 三维雕刻机毕业设计说明书
- 阅读古注完成习题
- 轨道课程设计
- 质量管理练习题
- 外商投资企业董事、监事、经理、秘书备案登记所需提交的文件
- 公司战略与风险管理(2013)模拟考试(一)
- CISA学习笔记(20130206最新更新,附个人考试心得)
- 2012年世少奥赛亚洲精英赛获奖名单 - 图文
- 申小敏DEFORM-3D实验 - 图文
- 《电气控制与PLC应用技术》期末试卷C卷
- 艺术概论期末复习提纲
- 机械原理实验教学大纲
- 迪斯尼英语儿歌第四集歌词汇总
- 排水清淤施工方案
- 院感应知应会(更新)