题干本题共包含 11 个小题
根据下面所给的AAA数据库,写出下列每条查询语句的执行结果,或者写出下列每条语句或程序段的功能。 假设存在名为AAA的数据库,包括Students(学号char(8),姓名varchar(8),年龄int,专业varchar(20),入学日期DateTime)和Score(学号char(8),课程名varchar(10),成绩numeric(5,2))两张表。
简答题第1题
SELECT CEILING(888.33),CEILING(-888.32)
简答题第2题
SELECT FLOOR(888.33),FLOOE(-888.33)
简答题第3题
SELECT SUBSTRING(‘I am a student’,8,7)
简答题第4题
SELECT’学生号’,’课程号’,ISNULL(null,0)
简答题第5题
DECLARE @MyNO CHAR(8) SET @MyNO="20030001" IF (SELECT专业 FROM Students WHERE 学号=@MyNO)="计算机软件" BEGIN SELECT AVG(成绩) AS 平均成绩 FROM Score WHERE学号=@MyNO END ELSE PRINT "学号为" +@MyNO+"的学生不存在或不属于软件专业" GO
正确答案
首先定义一个名为@MyNo的局部变量,并给它赋初值,如果@MyNo属于计算机软件专业,则显示出平均成绩,否则显示“学号为@MyNo的学生不存在或不属于软件专业”。
简答题第6题
declare @a numeric(5,2),@b numeric(5,2) set @a=(select max(成绩) from score) set @b=(select min(成绩) from score) print @a-@b
正确答案
求出score表中最高成绩与最低成绩的分数之差。
简答题第7题
declare @a char(8) set @a="计算机" select计算机专业人数=count(*) from students where left(专业,3)=@a
正确答案
从students表中统计出专业名开头为@a的值(即“计算机”)的所有学生人数。
简答题第8题
select month(入学日期) as 入学月份,count(*) as 人数 from students group by month(入学日期)
正确答案
从students表中分组统计出每个月份入学的学生人数。
简答题第9题
create procedure xxk1 as begin select * from students x,score y where x.学号=y.学号 end
正确答案
显示出AAA库中所有学生的记录信息及选课成绩
简答题第10题
create procedure xxk3 as begin select学号,avg(成绩) as 平均成绩 from score group by学号 end
简答题第11题
create procedure xxk5 ( @a char(8),@b varchar(10),@c numeric(5,2) ) as begin insert into score values(@a,@b,@c) end
正确答案
向score表中插入学号为@a的值、课程名为@b的值、成绩为@c的值的学生成绩记录。