where 成绩。学号 = 学号 and 总评成绩》=90
end if ((select convert(decimal(5,2), **g(convert(decimal(5,2), 总评成绩)))from 成绩 where 学号=@学号) 年级 and 年级=2008
2、查询龙泉和航空港校区的班级个数。
select 所在地点,count(*)as 班数 from 班 group by 所在地点。
3、查询20xx级学生课程**为1304的平均总评成绩、总评成绩的最高分和最低分。
select **g(总评成绩) as 平均总评成绩, max(总评成绩) as 最高分, min(总评成绩) as 最低分 from 成绩 where 年级=20xx and 课程**=1304
或。select **g(总评成绩), max(总评成绩), min(总评成绩) from 成绩 where 年级=20xx and 课程**=1304
4、查找20xx级课程1304总评成绩为100分的学生学号、姓名、性别、专业。
select 学号,姓名,性别,专业 from 学生 where 学号 in (select 学号 from 成绩 where 年级=20xx and 总评成绩=100 and 课程**=1304)
或。select 学生。学号,姓名,性别,学生。
专业 from 学生 inner join 成绩 on 学生。学号=成绩。学号 where 成绩。
年级=20xx and 总评成绩=100 and 课程**=1304
5、查找大气科学专业的学生学号、姓名、性别、年级、进校时间。
select 学号,姓名,性别,年级,进校时间 from学生 where 专业=(select ***码 from 专业 where 专业名称='大气科学')
或。select 学号,姓名,性别,年级,进校时间 from 学生 inner join 专业 on 学生。专业=专业。***码 where 专业名称='大气科学。
6、查询学生学号、姓名、性别及所属班全名。
select 学号,姓名,性别,班全名 from 学生 inner join 班 on 学生。专业=班。所属专业 and 学生。
年级=班。年级 and 学生。班序号=班。
班序号。
7、查询总评成绩在50~60分之间的学生学号、姓名、性别、课程**、总评成绩,并按学号的升序显示。
select 学生。学号,姓名,性别,课程**,总评成绩 from 学生 inner join 成绩 on 学生。学号=成绩。学号where 总评成绩》50 and 总评成绩 =80
10、将20xx级同学按照总评成绩的平均分降序输出。
select 学号,**g(总评成绩) as 平均分 from 成绩 where 年级=20xx group by 学号 order by **g(总评成绩) desc
11、查询20xx级课程**为1304且平均成绩在80分以上的***码及平均成绩。
select 专业 as ***码,**g(总评成绩) as 平均成绩 from 成绩 where 年级=20xx and 课程**=1304 group by 专业 h**ing **g(总评成绩)>=80
12、查询学号为‘20xx092929’的学生的总评成绩比‘20xx024763’号学生的最高分数还要高的课程**和总评成绩。
select 学号,课程**,总评成绩 from 成绩 where 学号='20xx092929' and 总评成绩》all (select 总评成绩 from 成绩 where 学号='20xx024763')
或。select 学号,课程**,总评成绩 from 成绩 where 学号='20xx092929' and 总评成绩》 (select max(总评成绩) from 成绩 where 学号='20xx024763')
13、查询20xx级学生中各门课程的平均总评成绩情况,并按照平均总评成绩降序排列输出。
select 课程。课程**,课程名称,平均成绩, 选课人数from 课程 inner join (select 课程**,**g(总评成绩) as 平均成绩,count(*)as 选课人数from 成绩 where 年级=20xx group by 课程**) as a on 课程。课程**=a.
课程**order by 平均成绩 desc
14、查找并显示电子信息工程专业20xx级同学计算机文化基础课程的最高分、最低分、平均分。
select max(总评成绩) as 最高分,min(总评成绩) as 最低分,**g(总评成绩) as 平均分 from 成绩 where 年级=20xx and 课程**=(select 课程** from 课程 where 课程名称='计算机文化基础') and 专业=(select ***码 from 专业 where 专业名称='电子信息工程')
或。select max(总评成绩) as 最高分,min(总评成绩) as 最低分,**g(总评成绩) as 平均分 from 成绩 inner join 课程 on 成绩。课程**=课程。
课程** where 年级=20xx and 课程名称='计算机文化基础' and 专业=(select ***码 from 专业 where 专业名称='电子信息工程')
或。select max(总评成绩) as 最高分,min(总评成绩) as 最低分,**g(总评成绩) as 平均分 from 成绩 inner join 专业 on 成绩。专业=专业。
***码 where 年级=20xx and 课程**=(select 课程** from 课程 where 课程名称='计算机文化基础') and 专业名称='电子信息工程'
15、将成绩表中20xx级平均在85分以上的学生信息复制到表goodbaby。
select 学生。学号,姓名,学生。专业,a.
平均成绩 into goodbaby from 学生 inner join (select 学号,**g(总评成绩) as 平均成绩 from 成绩 where 年级=20xx group by 学号h**ing **g(总评成绩)>85) as a on 学生。学号=a.学号。
16、将成绩表中20xx级平均总评成绩在70分以下且有3门(含3门)以上不及格的学生信息添加到badbaby中(学号,平均成绩,不及格门数)。
select 成绩。学号,count(*)as 不及格门数,**g(总评成绩) as 平均成绩 into badbaby from 成绩 inner join (select 学号 from 成绩 where 成绩。年级=20xx group by 学号 h**ing **g(总评成绩)=3 或。
select 成绩。学号,count(*)as 不及格门数,**g(总评成绩) as 平均成绩 from 成绩 inner join (select 学号 from 成绩 where 总评成绩=3) as a on 成绩。学号=a.
学号 where 成绩。年级=20xx group by 成绩。学号 h**ing **g(总评成绩)a.
姓名。方法二:通过链接服务器来完成。链接服务器设置如下图:
设置完成后,再将“学生”表与链接服务器表内容按照要求比较,并将结果存入“学生注册信息对比”表中。参考语句如下:
select 学生。学号,学生。姓名学生表姓名,a.姓名注册表姓名
into 学生注册信息对比 from 学生,excel...注册信息$ a
where 学生。学号=a.学号 and 学生。姓名a.姓名。
提示:查询连接服务器数据表内容时,一定要将电子**文件关闭。
10、编写存储过程。
编写存储过程“学生成绩统计分析”,带一输入参数“@学号”,其开始**严格如下:
create procedure 学生成绩统计分析 @学号 char(10) as
要求此存储过程实现的功能是:根据输入参数“@学号”指定的学生,先计算该生的平均总评成绩(保留2位小数),即在程序中要考虑好变量@平均总评成绩的数据类型,然后: (1)将该生的学习状况添加到表“学生学习状况”中(其xid列为自动赋值),“评价”列的取值为:
优秀、一般或较差,优秀的标准是平均总评成绩》=90,较差的标准是平均总评成绩=90的课程,并添加到表“优秀课程”表中(其kid列为自动赋值)。往该表中添加记录的程序示例:假定@学号中指定学生的@平均总评成绩为,现需将该生总评成绩在70~80间的课程添加到该表中。
insert into 优秀课程 (学号, 课程名称, 总评成绩) select c.学号, k.课程名称, c.总评成绩 from 成绩 c, 课程 k
where c.学号=@学号 and c.总评成绩 between 70 and 80 and k.课程**=c.课程**。
(3)若平均总评成绩在60分以下,则查询出该学生总评成绩= 90 then '优秀' when convert(decimal(5,2), **g(convert(decimal(5,2), 总评成绩)))90) begin
insert into 优秀课程(学号,课程名称,总评成绩) select 成绩。学号, 课程名称,总评成绩。
from 成绩 join 课程 on 成绩。课程**=课程。课程**。
set @s=@s*@n set @n=@n+1 end select @s,@n
21、完成程序依次显示字母。
a~z。declare @count int,@abc varchar(100) set @count=0 while @count=90 then 'a'
when **g(总评成绩)>=80 and **g(总评成绩)=70 and **g(总评成绩)=60 and **g(总评成绩)<70 then 'd' when **g(总评成绩)<60 then 'e' end)
as 等级。
from 成绩 where 年级=20xx group by 学号。
24、显示今天是第几季度,输出格式为“第一季度”、“第二季度”、“第三季度”、“第四季度”。
declare @季度 tinyint
set @季度= datename(q,getdate ) select case @季度。
when 1 then '第一季度' when 2 then '第二季度' when 3 then '第三季度' when 4 then '第四季度' end 或 select
case datename(q,getdate ) when 1 then '第一季度' when 2 then '第二季度' when 3 then '第三季度' when 4 then '第四季度' end
三、sql语句组合题目参考:
说明:【此题也是20xx级在20xx年1月4日星期六考试原题出自这里面,是程序组合的原题,可以理解记忆】
为了能使考试知识点更加全面,前4题基本围绕在多表查询中使用表达式、函数、多条件、排序等设计;后4题的知识点分布在分组统计、动作查询中使用子查询等)
参考数据表结构: 教师(编号,姓名,出生日期,学历) 课程(编号,名称,学分) 工资(教师编号,日期,应发工资,扣款) 授课安排(授课id,教师编号,授课课程,教室),【授课id】是自动增长字段,【教师编号】是参照【教师。 编号】的外键,【授课课程】是参照【课程。
编号】的外键。 带有下划线字段为表的主关键字。
1. 查询年龄在35岁以下教授“数据库原理”的教师有几位。
select count(*)as 人数 from 课程 inner join 授课安排。
on 课程。编号=授课安排。授课课程 inner join 教师 on 教师。
编号=授课安排。教师编号 where dateadd(yy,35,出生日期) 2. 将“张晓辉”老师教授课程“数据库原理”的教室原来的“h1210”调整到“h3210”。 update 授课安排 set 教室='h3210' from 授课安排 inner join 课程 on 课程。编号=授课安排。授课课程 inner join 教师 on 教师。 编号=授课安排。教师编号 where 姓名=’张晓辉’ and 授课课程='数据库原理' and 教室 ='h1210' 查询教授数据库相关课程的教师信息,即课程名称含有“数据库”的课程,先按出生日期降序、再按学历升序显示教师编号、姓名、出生日期、学历,教师信息相同的只显示一次。 select distinct 教师。编号,姓名,出生日期,学历 from 课程 inner join 授课安排 on 课程。编号=授课安排。 授课课程 inner join 教师 on 教师。编号 =授课安排。教师编号 where 名称 like '%数据库%' order by 出生日期 desc,学历 asc 查询教授“c语言程序设计”和“数据库原理”两门课程的教师工资信息,显示教师编号,日期,实发工资,其中实发工资为应发工资减去扣款。 select 工资。教师编号,日期,应发工资-扣款 (as) 实发工资 from 工资。 inner join 授课安排 on 工资。教师编号 = 授课安排。教师编号 inner join 课程 on 课程。 编号 = 授课安排。授课课程 where 名称 in ('语言程序设计','数据库原理') 为“张晓辉”老师安排编码为“c105”课程的授课教室在“h1104”。(名为“张晓辉”的教师只有一位) insert into 授课安排 select 编号,'c105','h1104' from 教师where 姓名='张晓辉' 查询每门课程的最小授课id号,显示课程的编号、名称和最小授课id。 select 课程。编号,max(课程。名称) 名称, min(授课id) 最小授课id from 课程 inner join 授课安排 on 课程。 编号=授课安排。授课课程 group by 课程。编号。 为讲授课程编号为“c105”的教师制作本月工资表,【日期】取当前时间,【应发工资】和【扣款】取'20xx-01-01'对应“工资”表数据。 insert into 工资 select 工资。教师编号,getdate ,应发工资,扣款 from 工资 inner join 授课安排 on 工资。教师编号 = 授课安排。 教师编号 where 授课课程='c105'and 日期='20xx-01-01' 删除教授课程编号为“c101”的教师对应于20xx年1月1日的工资数据。 delete from 工资where 日期='20xx-01-01' and 教师编号 in (select 教师编号 from 授课安排 where 授课课程 = c101') 四、数据库设计要用到的命令: select distinct 学号,姓名,性别,生源省 into 学生 from 学生及成绩$ select distinct 课程号,课程名称 into 课程 from 学生及成绩$ select 学号,课程号,总评成绩 into 成绩 from 学生及成绩$ 数据库 access 复习要点 数据库access基础 数据库管理系统 数据库原理 数据库原理及应用 以下为重点复习内容,请同学们务必背出下列重点概念,考试为闭卷笔试。复习教材 access数据库应用基础与实训教程 1.数据库管理系统的英文缩写 dbms 2.access 数据库文件的扩展名是什么?... 数据库 access 复习要点 数据库access基础 数据库管理系统 数据库原理 数据库原理及应用 以下为重点复习内容,请同学们务必背出下列重点概念,考试为闭卷笔试。复习教材 access数据库应用基础与实训教程 1.数据库管理系统的英文缩写 dbms 2.access 数据库文件的扩展名是什么?... 分类一。1.编写一程序实现以下功能。x x只考虑整数int且必须定义为int 但f x 完全可能超过int的表示范围 通过键盘输入 输入前给出提示pleaseinputx 然后计算并在屏幕上输出函数值。注意,图1中的括号不是 而是 编程可用素材 printf pleaseinputx 5x 27 x...数据库原理 数据库管理系统复习
数据库原理 数据库管理系统复习
成都信息工程学院C语言作业答案