数据库原理张红娟答案
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
11.(1)给学生表增加一个属性Nation,数据类型为Varchar(20):
ALTER TABLE Student
ADD Nation VARCHAR(20) NULL;
(2)删除Nation:
ALTER TABLE Student
Drop Column Nation;
(3)向成绩表中插入记录("2001110","3",80):
insert into Grade
values('2001110','3',80);
(4)将学号为2001110的学生的成绩改为70分:
update Grade
set Gmark='70'
where Sno='2001110';
(5)删除学号为'2001110'的学生的成绩记录:
delete from Grade
where Sno='2001110';
(6)在学生表的clno属性上创建一个名为'IX_Class'的索引,以班级号的升序排序:create index IX_Class
on Student (clno Asc);
(7)删除'IX_Class'索引:
drop index ;
12.(1)找出所有被学生选修了的课程号:
select distinct Cno
from Grade;
(2)找出01311班女学生的个人信息:
select * from Student
where Clno='01311' and Ssex='女';
(3)找出01311班和01312班的学生姓名、姓名、出生年份
select Sname,Ssex,2014-Sage as [year of birth]
from Student
where Clno='01311' or Clno='01312';
(4)找出所有姓李的学生的个人信息
select * from Student where Sname like '李%';
(5)找出学生李勇所在班级的学生人数
select number
from student inner join class
on =
where sname='李勇'
(6)找出课程名为操作系统的平均成绩、最高分、最低分
select AVG(Gmark) 平均成绩,MAX(Gmark) 最高分,MIN(Gmark) 最低分from Grade
where Cno in
(select Cno from Course
where Cname='操作系统')
(7)选修了课程的学生人数;
select COUNT(distinct sno) 学生人数
from Grade
(8)选修了操作系统的学生人数;
select COUNT(sno) 学生人数
from course inner join grade
on =
where Cname='操作系统'
(9)找出2000级计算机软件班的成绩为空的学生姓名
select Sname 学生姓名
from
(Student inner join class on =
inner join grade on =
where Speciality='计算机软件'
and inyear='2000'
and gmark is null
13.
1)找出和李勇在同一个班级的学生信息
select *
from Student
where clno in
(select Clno from Student
where Sname='李勇')
2)找出所有与学生李勇有相同选修课程的学生信息
select * from Student
where sno in
(select sno from grade
where cno in
(select cno from grade
where sno in (select sno from student
where Sname='李勇')));
3)找出年龄介于学生李勇和25岁之间的学生信息
select * from Student
where Sage <25 and Sage>
(select Sage from Student where Sname='李勇')
4)找出选修了课程是操作系统的学生学号和姓名
select Sno 学号,Sname 姓名 from Student
where sno in
(select sno from Grade
where Cno in
(select Cno from Course
where cno in (select cno from course
where Cname='操作系统')));
5)找出没有选修1号课程的所有学生姓名
select Sname 姓名 from Student
where not exists
(select * from Grade
where = and Cno='1')
6)找出选修了全部课程的学生姓名
select Sname 姓名 from Student
where not exists
(select * from Course
where not exists
(select * from Grade
where =
and =)
14.
1)查询选修了3号课程的学生学号及成绩,并按成绩的降序排列select Sno 学号,Gmark 成绩 from Grade
where Cno='3'