急求 请速度点 关于sql数据库的题目
二、命令操作题(共60分)有学生选修课程数据库(将数据库xuanxiu1,附加进来)学生表(学号,姓名,年龄,性别,所在系,地址,出生日期)选课表(学号,课程号,成绩)课...
二、命令操作题(共60分)
有学生选修课程数据库(将数据库xuanxiu1,附加进来)
学生表(学号,姓名,年龄,性别,所在系,地址,出生日期)
选课表(学号,课程号,成绩)
课程表(课程号,课程名称,教师姓名)
用SQL语言完成下列操作:(将执行成功的所用语句拷贝到答题纸相应位置)
1) 查询姓“李”的同学的信息。
2)选课表中共有多少个不及格的学生(要统计个数,使用函数)
3)查询未录入出生年月的学生
4)查询成绩在80-100分(含80和100)的学生分数、姓名及所在系。
5)在学生表添加一条记录,是你本人的信息。
6)查询地址不是“桥东区”的男学生信息。
7)计算选修表中C01课程的平均分
8)“温月”所选修的全部课程名称及成绩(子查询)
9)修改课程表中,“王文海”老师的姓名为“李文海”
10)把学生表中的女同学记录生成一个新表,叫女生表。
11)为学生表的姓名字段创建非聚集索引IX_name,以便加速查询,填充因子为75%。
12)创建一个视图名字为V_xs,内容是所有姓王的女生的学号、姓名、所在系、选修课程号、成绩
13)延迟300秒显示上述视图信息(2条语句)
14)为学生表创建一个delete触发器cfq_kc,当在学生表中删除某学生时,把选课表中该学生的记录也删除。
15)创建一个带有输入参数的存储过程proc_cj,功能是,查看指定课的成绩最低的2名学生信息(学号、姓名、所在系、课程名、分数),执行时输入课程名。 展开
有学生选修课程数据库(将数据库xuanxiu1,附加进来)
学生表(学号,姓名,年龄,性别,所在系,地址,出生日期)
选课表(学号,课程号,成绩)
课程表(课程号,课程名称,教师姓名)
用SQL语言完成下列操作:(将执行成功的所用语句拷贝到答题纸相应位置)
1) 查询姓“李”的同学的信息。
2)选课表中共有多少个不及格的学生(要统计个数,使用函数)
3)查询未录入出生年月的学生
4)查询成绩在80-100分(含80和100)的学生分数、姓名及所在系。
5)在学生表添加一条记录,是你本人的信息。
6)查询地址不是“桥东区”的男学生信息。
7)计算选修表中C01课程的平均分
8)“温月”所选修的全部课程名称及成绩(子查询)
9)修改课程表中,“王文海”老师的姓名为“李文海”
10)把学生表中的女同学记录生成一个新表,叫女生表。
11)为学生表的姓名字段创建非聚集索引IX_name,以便加速查询,填充因子为75%。
12)创建一个视图名字为V_xs,内容是所有姓王的女生的学号、姓名、所在系、选修课程号、成绩
13)延迟300秒显示上述视图信息(2条语句)
14)为学生表创建一个delete触发器cfq_kc,当在学生表中删除某学生时,把选课表中该学生的记录也删除。
15)创建一个带有输入参数的存储过程proc_cj,功能是,查看指定课的成绩最低的2名学生信息(学号、姓名、所在系、课程名、分数),执行时输入课程名。 展开
3个回答
展开全部
create table stu
(
Sno varchar(30)primary key,
Sname varchar(30),
Ssex char(10),
Sage int,
Sdept varchar(30),
address varchar(30),
borndate varchar(30)
)
insert into stu values('110','王二','男',22,'计算机系','广州市天河区','1992-01-01')
insert into stu values('111','李四','男',22,'计算机系','广州市桥东区','1992-01-01')
insert into stu values('112','李小林','女',22,'计算机系','广州市桥东区','1992-01-01')
insert into stu values('113','温月','男',22,'计算机系','广州市天河区','1992-01-01')
insert into stu values('114','李德华','男',22,'计算机系','广州市天河区','')
create table Course
(
Cno varchar(10) primary key,
Cname varchar(20) UNIQUE,
Tname varchar(20)
)
insert into Course values('C01','SQL2008数据库','王文海')
insert into Course values('C02','JAVA编程','柳大华')
insert into Course values('C03','安卓开发','胡玉玉')
create table xk
(
Sno varchar(30),
Cno varchar(10),
Grade Float
)
insert into xk values('110','C01',88)
insert into xk values('111','C02',55)
insert into xk values('112','C03',78)
insert into xk values('113','C01',89)
insert into xk values('114','C02',65)
insert into xk values('110','C02',85)
insert into xk values('111','C03',77)
insert into xk values('112','C02',59)
insert into xk values('113','C03',99)
insert into xk values('114','C01',84)
--(1)
SELECT * FROM STU WHERE Sname LIKE '李%'
--(2)
SELECT COUNT(SNO) FROM xk WHERE Grade<60
--(3)
SELECT * FROM stu WHERE borndate=''
--(4)
SELECT S.SNAME,S.Sdept,X.Grade FROM STU S,xk X WHERE S.Sno = X.Sno AND 80<=X.Grade and X.Grade<=100
--(5)自己信息按照下面自己改下就可
insert into stu values('115','肖玉玉','女',22,'计算机系','广州市天河区','1992-01-01')
--(6)
SELECT * FROM stu WHERE address NOT LIKE '%桥东区%' AND Ssex='男'
--(7)
SELECT AVG(Grade) FROM xk WHERE Cno='C01'
--(8)
SELECT CNAME,Grade FROM Course ,xk WHERE Course.Cno = xk.Cno AND xk.Sno = (SELECT Sno from stu WHERE SNAME = '温月')
--(9)
update Course set Tname = '李文海' where Tname = '王文海'
--(10)
SELECT * INTO 女生表 FROM stu WHERE Ssex='女'
--(11)
CREATE NONCLUSTERED INDEX IX_name
ON STU(SNAME)
WITH FILLFACTOR = 75
GO
--(12)
create view V_xs
as
SELECT S.SNO,S.SNAME,S.Sdept,X.Cno ,X.Grade FROM stu S,xk X WHERE S.SNO = X.SNO AND S.Ssex='女' and s.Sname like '王%';
--(13)
BEGIN
WAITFOR DELAY '00:05';
select * from V_xs ;
END;
--(14)
create trigger cfq_kc
on stu
for delete
as
begin
DELETE XK where Sno=(select SNO from deleted)
end
--(15)
create procedure proc_cj
@cname varchar(20)
as
BEGIN
declare @sql varchar(1000)
select TOP 2 s.SNO,S.SNAME,S.Sdept,@cname,X.Grade from stu S,XK X where S.Sno = X.Sno AND X.Cno = (SELECT Cno FROM Course WHERE Cname = @cname) ORDER BY X.Grade
END
execute proc_cj 'JAVA编程'
已测,这些题都很简单的,另外我用的数据库是SQL2008,如果楼主用的是其他数据库的话就可能要改一些了,自己多多努力一下并不是很难,实现的过程是非常有趣的。
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询