mysql查询指定姓名的学生的学号,姓名,成绩并将该学生的平均分返回,然后还判断指定的名字存不存在数据库里

正确的说,在MySQL中检查某个姓名的学生数据并计算平均分,同时判断此人是否存在,有两个步骤:先检查数据,然后检查准确性。
扩展有两个关键点: 首先,要获取学生数据,请使用 SELECT StudentNumber, ISNULL (Name, 'No such Student!'), (Written Test + Computer Test)/2 Average Score FROM Results Table WHERE Name = 'Unique Name'。
ISNULL 在这里是为了防止当该人不在时出现随机错误。
成绩的平均值可以直接(笔试+机考)/2 ——但是我们去年做项目的时候,如果有学生通过了笔试或者机考,我们发现这个计算会有问题,而判断是否为空,必须加上WHEN这个问题。
还有一点,要检查名称是否存在,请使用 EXISTS (SELECT 1 FROM point table WHERE name = '指定名称')。
这个查询速度很快,因为它只检查记录是否存在,不返回具体数据。
对于最后近3 000条数据,该子查询的响应时间小于1 毫秒。

一开始我以为应该使用COUNT或者SUM来隐式返回,但是后来我发现EXISTS效率更高,而且MySQL官方文档说它在找到第一个匹配时就停止,所以绝对不会浪费资源。
等等,还有一点,如果输出表中的名字是VARCHAR,记得加引号,不然会报错。

建议尝试这种组合查询,但是请注意:如果表特别大,比如超过一百万条记录,最好在name字段上建立索引,否则EXISTS子查询可能会降低整体速度。

示例讲解Mysql怎么查询大于指定值的数据

如果数据大于指定值,只需使用 WHERE > 即可。

我上周刚刚处理了一笔贷款。
从分数 > 8 0 的学生中选择;这句话是正确的。

注意分数级数问题。
结果是一个整数,值不能使用“8 0”。

结果为空?检查该值是否正确。
或者确实没有什么比桌子上的这个数字更大的了。

想要更复杂的东西吗?使用 AND 连接条件,例如分数 > 8 0 AND 分数 < 9>
你自己看看。