用sql如何查出各科成绩低于各科平均分的学生,并显示低于平均分的科目和成绩,学生姓名?

直接使用 SQL 过滤低分确实很快。
但手表的设计太复杂了。

坦白说,按主题列出会更有效率。
每行每个学生的科目低分记录。

例如:英语低于平均水平,JSP低于平均水平,全部合并。

您的 UNION ALL 拼写是正确的。
克服它吧。

但是如果数据量很大,SQL可能会很慢。
Excel 可能会更快。

这是第一个。

数据库怎么查询平均分大于80分的学生

嗯... 2 02 2 年,我会在上海做这件事,用电脑。
数据库软件叫做SQL Server,是的,就是它。
里面有一个学生表和一个成绩表,数据很多,可能有几千条。

我打开软件并连接到数据库。
在学生表中,学号是主键。
成绩表包含学生的学号,以及各个科目的成绩,例如数学、英语等。

然后,我选择数据库,右键单击并创建一个新查询。
将打开一个窗口,在空白处键入 SQL 命令。
首先选择学号,然后选择平均分数,使用AVG函数并使用美国昵称来调用平均分数。
命令写法是这样的:SELECT table Student.studentnumber,AVG平均成绩(年级)AS。

接下来,学生表和成绩表应该连接起来。
使用 JOIN 时,命令为: FROM Student table JOINgrades table ON table Students.studentnumber = tablegrades.studentnumber。
这样,每个学生的成绩就会与他的学号相匹配。

然后,使用GROUP BY按学号分组。
否则AVG就会出现问题。
是GROUP BY学生表.学号。

收集完毕后,下一步,使用HAVING进行过滤。
平均分必须大于8 0。
顺序是:HAVE AVG(score) > 8 0。
这样,只有优秀的才会被筛选出来。

最后按Enter键执行。
结果在下面的效果栏中。
我一看,哇,这么多学生证和对应的平均分,都在8 0以上。

这个方法其实还是蛮有用的。
例如,如果学校想要提供奖学金或确定需要特别关注的学生,都可以很快完成。

此外,这不仅仅是平均分。
我还可以输入其他查询,例如我想看看学生哪些科目强,哪些科目弱。
例如,添加一个WHERE子句,选择学号为“2 02 2 001 ”的学生,然后检查他们的数学和英语成绩。
这个更详细了。

也就是说,使用的时候要小心。
表名或列名不能有错误。
我以前就犯过这个愚蠢的错误。
数据不符,吓死我了。
另外,数据库连接必须稳定,不能断开。

如果数据量非常大,几百万、几百万,查询可能会很慢。
需要对其进行优化。
例如,为常用的查询添加索引。
我实在不明白这一点。
您可能需要查看SQL Server文档或者询问我们公司的数据库人员。

无论如何,一旦你理解了这个问题,就很容易了。

如何用SQL查询学生各科成绩的平均分数?

这是一个洞。
不要这样做。

直接写:sql SELECT 学生表.学生编号,AVG(score) 平均分 AS 从学生课桌 JOIN Scoretable ON 表 Students.studentnumber = Scoretable.studentnumber GROUP BY 学生表.学号 平均得分 > 8 0
实用提醒:复制粘贴直接运行。