数据库原理与SQLServer课程实验报告 下载本文

2. 设学生选课数据库中有三个数据表:

S(SNO,SNAME,SEX,BIRTHDAY,SDEPARTMENT,TEL) C(CNO,CNAME,TEACHER,PCNO) SC(SNO,CNO,GRADE) 完成下列任务:

(1)定义表结构并向S、C和SC表中输入记录。 (2)检索每个学生的出生年份。 ①SQL命令:

select sno, year(birthday) as '出身年份' from s ②结果:

(3)在S中检索学生的姓名和出生年份,输出的列名分别为STUDENT_NAME和BIRTH_YEAR。 ①SQL命令:

select sname as 'STUDENT_NAME',year(birthday) as 'BIRTH_YEAR' from s ②结果:

(4)向基本表SC中插入一条元组(S0404,C06,90)。 ①SQL命令:

insert into s(sno,sname,tel) values('J0404','李洋','44-5555') insert into sc values('J0404','C06','90') ②结果:

11

(5)把课程名为VB的成绩从基本表SC中删除。 ①SQL命令:

delete from sc where cno='C05' ②结果:

(6)把女生的成绩提高10%。 ①SQL命令: update sc

set grade=grade*1.1 where sc.sno='J0401' ②结果:

实验4 视图和查询管理

目的和要求

(1)掌握子查询和连接查询的表示

(2)掌握SELECT语句的GROUP BY 子句的作用和使用方法 (3)掌握SELECT 语句的ORDER BY 子句的作用和使用方法

12

(4)理解视图的概念

(5)掌握使用视图设计器和SQL命令创建视图的方法 (6)掌握视图数据的查询、插入、修改、删除

实验准备

(1)了解子查询和连接查询的方法

(2)了解SELECT 语句的GROUP BY 子句的作用和使用方法 (3)了解SELECT 语句的ORDER BY 子句的作用和使用方法 (4)理解视图与查询的区别

(5)掌握使用视图设计器创建视图的方法 (6)掌握使用SQL命令创建视图的方法

实验内容及结果

设学生选课数据库中有三个数据表:

S(SNO,SNAME,SEX,BIRTHDAY,SDEPARTMENT,TEL) C(CNO,CNAME,TEACHER,PCNO) SC(SNO,CNO,GRADE) 完成下列任务

1. 检索学习课程号为C02的学生学号和姓名。 ①SQL命令:

select s.sno,sname from s,sc

where cno='C02'and s.sno=sc.sno ②结果:

13

2. 检索没有选修课程“数据库”的学生学号和姓名。 ①SQL命令:

select s.sno,sname from s,sc,c

where cname<>'数据库'and s.sno=sc.sno and c.cno=sc.cno ②结果:

3. 检索选修课程号为C02或C04的学生学号。 ①SQL命令: select sno from sc

where cno='c02' or cno='c04' ②结果:

4. 检索至少选修课程号为C02和C04的学生姓名。 ①SQL命令:

select sname from s

where sno in (select sc1.sno from sc as sc1,sc as sc2

where sc1.sno=sc2.sno and sc1.cno='c02'and sc2.cno='c04') ②结果:

14