数据库实验四:SQL数据查询 下载本文

内容发布更新时间 : 2024/5/2 12:36:10星期一 下面是文章的全部内容请认真阅读。

(42)查询至少有1门必修课程考试成绩的每个学生的平均成绩。 select avg(成绩) from 选课

where 课程编号 in

(select 课程编号 from 课程 where 课程性质 like '%基础') group by 学号

(43)设计1个使用COMPUTE???BY和COMPUTE的查询。 select *

from 选课order by 学号

compute avg(成绩),sum(成绩) by 学号

(44)设计1个使用COMPUTE的查询。 select * from 教师 compute sum(工资)

(45)设计个使用group???BY的查询。 select 教师编号,avg(工资) from 教师

group by 教师编号

三、实验分析与小结:

(实验过程中的问题分析、产生的原因以及解决方法;实验结果分析; 有待优化思路)

实验过程中出现了很多的错误,但经过自己的不懈努力都解决的了,也正是通过这次的实验学到了很多,比如:group by一般跟在where之后,没有where时,跟在from 后;group by 中的分组依据必须包含select中的分组标识,一般情况下它们应该是一致的。

四、其它

思考题:

1.连接查询和嵌套查询的区别是什么?如何转化使用?

区别:嵌套查询通常是一次查询不能满足条件的前提下使用的,是使用最大范围的收敛方法,以减少外查询对内存的使用量。而连接查询要求结果出自一个关系。

将连接查询中需要连接的字段,使用in运算进行嵌套查询进行转化,in基本语法格式:

SELECT ?

FROM

WHERE [<其他查询条件> AND ] IN (SELECT FROM < table_source >

[WHERE ?])

得分(百分制)