SQL语句查询每个学生的学号、姓名、平均成绩、最高成绩和最低成绩

SQL语句查询每个学生的学号、姓名、平均成绩、最高成绩和最低成绩,第1张

select 学生表.学号,学生表.姓名,

average(成绩表.成绩) as 平均成绩,

max(成绩表.成绩) as 最高成绩,

min(成绩表.成绩) as 最低成绩

from 学生表 left join 成绩表 on 学生表.学号=成绩表.学号

order by 学生表.学号

成绩表可换成语文、数学、英语等,查询结果就是各个学生相应课程的平均成绩、历史最高成绩、历史最低成绩.

按照人名查出学生的各科成绩以及总成绩并按总成绩排名的sql语句示例如下:

select A.name,

(select B.score from table_score B where B.type='数学' and A.id=B.id)as 数学,

(select B.score from table_score B where B.type='语文' and A.id=B.id)as 语文,

(select B.score from table_score B where B.type='英语' and A.id=B.id) as 英语,

(select SUM(B.score) from table_score B where A.id=B.id) as sum_score

from table_student A order by  sum_score DESC

以上sql语句首先把学生表和成绩表联合查出每个学生的数学、语文、英语成绩,然后通过select SUM(B.score) from table_score B where A.id=B.id查出每个学生的总成绩。

最后order by  sum_score DESC实现按总成绩倒叙排列。

/iknow-pic.cdn.bcebos.com/5d6034a85edf8db1650ea8660623dd54564e7494"target="_blank"title="点击查看大图"class="ikqb_img_alink">/iknow-pic.cdn.bcebos.com/5d6034a85edf8db1650ea8660623dd54564e7494?x-bce-process=image%2Fresize%2Cm_lfit%2Cw_600%2Ch_800%2Climit_1%2Fquality%2Cq_85%2Fformat%2Cf_auto"esrc="https://iknow-pic.cdn.bcebos.com/5d6034a85edf8db1650ea8660623dd54564e7494"/>

扩展资料

上述sql语句重点是对as关键字的使用-Alias(别名),通过使用SQL,可以为列名称和表名称指定别名(Alias)。

表的SQLAlias语法

SELECTcolumn_name(s)FROMtable_nameASalias_name;

列的SQLAlias语法

SELECTcolumn_nameASalias_nameFROMtable_name;

Alias实例:使用表名称别名

假设我们有两个表分别是:"Persons"和"Product_Orders"。我们分别为它们指定别名"p"和"po"。

现在,我们希望列出"JohnAdams"的所有定单。

我们可以使用下面的SELECT语句:

SELECTpo.OrderID,p.LastName,p.FirstNameFROMPersonsASp,Product_OrdersASpoWHEREp.LastName='Adams'ANDp.FirstName='John'

查询选修了全部课程的学生姓名

:student 是学生表  course 是选课表  sc 是课程表

select sname

from student

where not exists

(select *

from course

where not exists

(select *

from sc

where sno =student.sno

and cno=course.cno)


欢迎分享,转载请注明来源:内存溢出

原文地址:https://54852.com/sjk/6774305.html

(0)
打赏 微信扫一扫微信扫一扫 支付宝扫一扫支付宝扫一扫
上一篇 2023-03-28
下一篇2023-03-28

发表评论

登录后才能评论

评论列表(0条)

    保存