实验报告

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

南华大学

计算机科学与技术学院

实验报告

(2010 ~2011 学年度第二学期)

课程名称数据库原理与技术实验名称

姓名苏宁学号***********

专业软件工程班级091

地点2-209 教师刘征海老师

实验一

一.实验题目

熟悉SQL Server Management Studio 的基本操作,进一步理解数据库、表、表间关系的概念。且要熟悉创建数据库和数据表的SQL语句。

二.实验要求

创建数据库和数据表时应认真,如果出错,应相应地修改结构或删除。输入SQL语句时应注意,语句中均使用西文操作符号。三.实验代码

CREATE DATABASE[StudentCourseRJ0139]

CREATE TABLE[dbo].[StudentRJ0139](

[Sno][nchar](10)PRIMARY KEY,

[Sname][nchar](4)NOT NULL,

[Ssex][nchar](2)NOT NULL,

[Sbirthday][nchar](15)NOT NULL,

[Sdept][nchar](10)NOT NULL,

[Memo][nchar](20)NOT NULL)

CREATE TABLE[dbo].[CourseRJ0139](

[Cno][nchar](10)PRIMARY KEY,

[Cname][nchar](10)NOT NULL,

[ProCno][nchar](2)NOT NULL,

[Credit][nchar](2)NOT NULL)

CREATE TABLE[dbo].[ScRJ0139](

[Sno][nchar](10)PRIMARY KEY,

[Cno][nchar](10)NOT NULL,

[Grade][nchar](3) NOT NULL)

四.截图

五.实验总结

既要熟悉直接建立数据库相应的操作,又要掌握用SQL语句建立数据库相应的操作。注意create语句的使用。

实验二

一.实验题目

数据库单表查询和多表连接查询

二.实验要求

子句where《条件》表示元组筛选条件;子句having《条件》表示元组选择条件;子句having《条件》必须和group by子句配合使用;注意输入sql语句时均应使用西文操作符号。

三.实验代码

1.查询计算机系全体学生的信息

select*from StudentRJ0139 where Sdept='计算机'

2.查询姓‘李’的学生的学号和姓名

select Sno学号,Sname姓名from StudentRJ0139 where Sname like'李%'

3.查询课程表中先行课为空的课程名

select Cname from CourseRJ0139 where PreCno is null

4.查询考试成绩有不及格的学生的学号

select sno from ScRJ0139where Grade<60

5.求选修了C1或C2课程的学生的学号和成绩

select sno, grade from ScRJ0139where Cno='c1' or Cno='c2'

6.查询全体计算机系学生的姓名及其年龄

select Sname, Sage from StudentRJ0139 where sdept='计算机'

7.查询计算机系在1986-1987年出生的学生

select sname from StudentRJ0139where Sbirthday between 1986 and 1987

8.查询姓李的前两个学生的学号和姓名

select top 2 sno from StudentRJ0139where Sname like'李%'

9.查询选修了两门以上课程的学生学号和课程数

select sno,count(*)as选课数from ScRJ0139group by sno having COUNT(*)>2

10.查询选修课程数大于等于2的学生的学号、选课门数和平均成

select sno,COUNT(*)as选课门数,A VG(grade)from ScRJ0139group by Sno having COUNT(*)>=2 order by A VG(grade)desc

1.查询选修了数据库原理的计算机系的学生的学号和姓名

select s.sno,s.sname from StudentRJ0139s join ScRJ0139sc on s.Sno=sc.Sno join CourseRJ0139c on o=o where Sdept='计算机'and Cname='数据库原理'

2.查询每一门课的间接先行课

select PreCno from CourseRJ0139where Cno in(select PreCno from CourseRJ0139 where PreCno is not null)

3.查询学生的学号、姓名、选修课程的名称和成绩

select s.sno,sname,Cname,grade PreCno from StudentRJ0139s join ScRJ0139SC on s.Sno=SC.sno join CourseRJ0139c on o=o

4.查询选修了课程的学生的姓名

select distinct sname from StudentRJ0139s join ScRJ0139SC on s.Sno=SC.sno

5.查询所有学生的信息和所选修的课程

select sname,s.sno,Ssex,Sbirthday,Sdept,Memo,cname from StudentRJ0139s join ScRJ0139SC on s.Sno=SC.sno join o=o

6.查询已被选修的课程情况和所有课程名字

select sno,cname,c,Cno,PreCno,Credit from ScRJ0139sc join CourseRJ0139c on o=o

7.列出学生所有可能的选修情况

select sname,Cno from ScRJ0139sc join StudentRJ0139s on sc.Sno=s.Sno

相关文档
最新文档