数据库实验内容教学教材

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

数据库实验内容

数据库实验内容

环境选择:

WINDOWS XP SP2+SQL SERVER 2005

实验一:安装SQL SERVER 2005 EXPRESS + SQL Server Management Studio Express

实验二:

实验三:

使用SQL语句实现视图的更新,例如:

UPDATE C_P_N SET pna='人民日报-1' where pna='人民日报'

将“人民日报”修改成“人民日报-1”

实验四SELECT查询操作

1、基于“教学管理”数据库jxgl,试用SQL的查询语句表达下列查询:

(1)检索年龄大于23岁的男学生的学号和姓名。

SELECT Sno, Sname FROM Student WHERE(Sage > 23)AND(Ssex ='男' )

(2)检索至少选修一门课程的女学生姓名。

select a.Sname from student as a ,sc as b

where a.Ssex='女'and a.Sno=b.Sno group by a.Sname having count(o)>=1

(3)检索王同学不学的课程的课程号。

select Cno from SC where Sno in(select Sno from student where Sname like'王%')

(4)检索至少选修两门课程的学生学号。

select Sno from sc group by Sno having count(*)>=2

(5)检索全部学生都选修的课程的课程号与课程名。

select Cno,Cname from Course where Cno in(select Cno from sc group by Cno)

(6)检索选修了所有3学分课程的学生学号。

select Sno from sc where Cno in(select Cno from Course where Ccredit=3)

2、基于“教学管理”数据库jxgl,试用SQL的查询语句表达下列查询:

(1)统计有学生选修的课程门数。

SELECT COUNT(DISTINCT Cno)FROM SC

(2)求选修4号课程的学生的平均年龄。

SELECT AVG(a.Sage)from Student as a,Sc as b where a.Sno=b.Sno and o=4

(3)求学分为3的每门课程的学生平均成绩。

SELECT AVG(a.Grade)from Sc as a,Course as b where o=o and redit=3

(4)统计每门课程的学生选修人数,超过3人的课程才统计。要求输出课程号和选修人数,查询结果按人数降序排列,若人数相同,按课程号升序排列。

SELECT Cno,Count(*)as选修人数from sc group by cno

having count(*)>3 order by选修人数DESC,cno ASC

(5)检索学号比王非同学大,而年龄比他小的学生姓名。

SELECT Sname from student where

Sno>(select sno from student where Sname='王非')and

Sage<(select Sage from student where Sname='王非')

(6)检索姓名以王打头的所有学生的姓名和年龄。

SELECT Sname,Sage from student where sname like'王%'

(7)在SC中检索成绩为空值的学生学号和课程号。

SELECT Sno,Cno from Sc where Grade is NULL

(8)求年龄大于女同学平均年龄的男学生姓名和年龄。

SELECT Sname,Sage from Student where

Sage>(Select avg(Sage)from Student where Ssex='女') and Ssex='男'

(9)求年龄大于所有女同学年龄的男学生姓名和年龄。

SELECT Sname,Sage from Student where

Sage>(Select Max(Sage)from Student where Ssex='女') and Ssex='男'

(10) 检索所有比“王华”年龄大的学生姓名、年龄和性别。

SELECT Sname,Sage,Ssex from Student where

Sage>(Select Sage from Student where Sname='王华')

(11) 检索选修“2”课程的学生中成绩最高的学生的学号。

SELECT Sno from sc where Cno=2 and Grade=(select Max(Grade)from sc where Cno=2)

(12) 检索学生姓名及其所选修课程的课程号和成绩。

SELECT a.Sname,o,b.Grade from student as a,sc as b where a.Sno=b.Sno

(13) 检索选修4门以上课程的学生总成绩(不统计不及格的课程),并要求按总成绩的降序排列出来。

SELECT SUM(Grade)from sc where Grade>=60 and

cno in(select cno from sc group by cno having count(*)>4)

order by SUM(Grade)DESC

实验五:更新操作命令

实验内容

1、学生表Student、课程表Course、选课表SC的表结构等信息同上实验4,请实践以下命令式更新操作:

(1)在学生表Student和学生选课表SC中分别添加如下两表中的记录。

INSERT INTO Student VALUES('98010','赵青江',18,'男','CS');

INSERT INTO Student VALUES('98011','张丽萍',19,'女','CH');

相关文档
最新文档