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