
SQL server 2000 试题 高手帮帮忙 明天考试了
有一个“学生-课程”数据库,数据库中包括三个表:学生表(student):名称类型可否为空说明描述SnoChar(5)否学号主键SnameChar(10)否姓名SsexC...
有一个“学生-课程”数据库,数据库中包括三个表:
学生表(student):
名称 类型 可否为空 说明 描述
Sno Char(5) 否 学号 主键
Sname Char(10) 否 姓名
Ssex Char(2) 否 性别
Sage tinyint 否 年龄
Sdept Varchar(50) 否 系部名称
课程表(course):
名称 类型 可否为空 说明 描述
Cno Char(5) 否 课程号 主键
Cname varchar(50) 否 课程名
Cpno Char(5) 否 先修课号
Ccredit Decimal(4,1) 否 学分
学生选课表(SC):
名称 类型 可否为空 说明 描述
Sno Char(5) 否 学号 主键
Cno Char(5) 否 课程号
Grade Decimal(4,1) 否 成绩
根据以上表结构,完成以下操作:
1、 根据“学生表”结构,使用CREATE TABLE语句创建学生表。
2、 查考试成绩有不及格的学生的学号和姓名,且消除重复行。
3、 将学生95001的年龄改为22岁
4、 计算001号课程的学生平均成绩
5、 创建一存储过程getDetailByName,通过输入参数学生姓名(如“章山"),筛选出该学生的基本信息,对不存在此学生姓名的输入值,必须作一检测,打印信息“不存在此学生”。 展开
学生表(student):
名称 类型 可否为空 说明 描述
Sno Char(5) 否 学号 主键
Sname Char(10) 否 姓名
Ssex Char(2) 否 性别
Sage tinyint 否 年龄
Sdept Varchar(50) 否 系部名称
课程表(course):
名称 类型 可否为空 说明 描述
Cno Char(5) 否 课程号 主键
Cname varchar(50) 否 课程名
Cpno Char(5) 否 先修课号
Ccredit Decimal(4,1) 否 学分
学生选课表(SC):
名称 类型 可否为空 说明 描述
Sno Char(5) 否 学号 主键
Cno Char(5) 否 课程号
Grade Decimal(4,1) 否 成绩
根据以上表结构,完成以下操作:
1、 根据“学生表”结构,使用CREATE TABLE语句创建学生表。
2、 查考试成绩有不及格的学生的学号和姓名,且消除重复行。
3、 将学生95001的年龄改为22岁
4、 计算001号课程的学生平均成绩
5、 创建一存储过程getDetailByName,通过输入参数学生姓名(如“章山"),筛选出该学生的基本信息,对不存在此学生姓名的输入值,必须作一检测,打印信息“不存在此学生”。 展开
展开全部
建库我就不写了,格式就是这种。
1、
CREATE TABLE STUDENT(
[Sno] [Char](5) NULL,
[Sname] [Char](10) NOT NULL,
)
2、
SELECT A.Sno, A.Sname
FROM student AS A JOIN SC AS B
ON A.Sno = B.Sno
WHERE B.Grade < 60
GROUP BY A.Sno, A.Sname
3、
UPDATE student SET tinyint = 22 WHERE Sno=95001
4、
SELECT AVG(Grade) FROM SC WHERE Cpno='001'
5、
CREATE PROCEDURE getDetailByName
@Sname Char(10)
AS
IF @Sname IS NULL
BEGIN
PRINT '请输入学生姓名'
RETURN
END
IF NOT EXISTS (SELECT * FROM student WHERE Sname = @Sname)
BEGIN
PRINT '不存在此学生'
RETURN
END
ELSE
BEGIN
SELECT Sno, Sname, Ssex, Sage, Sdept FROM student WHERE Sname = @Sname
END
1、
CREATE TABLE STUDENT(
[Sno] [Char](5) NULL,
[Sname] [Char](10) NOT NULL,
)
2、
SELECT A.Sno, A.Sname
FROM student AS A JOIN SC AS B
ON A.Sno = B.Sno
WHERE B.Grade < 60
GROUP BY A.Sno, A.Sname
3、
UPDATE student SET tinyint = 22 WHERE Sno=95001
4、
SELECT AVG(Grade) FROM SC WHERE Cpno='001'
5、
CREATE PROCEDURE getDetailByName
@Sname Char(10)
AS
IF @Sname IS NULL
BEGIN
PRINT '请输入学生姓名'
RETURN
END
IF NOT EXISTS (SELECT * FROM student WHERE Sname = @Sname)
BEGIN
PRINT '不存在此学生'
RETURN
END
ELSE
BEGIN
SELECT Sno, Sname, Ssex, Sage, Sdept FROM student WHERE Sname = @Sname
END
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询