① sql查询单科成绩最高的同学
SELECT child.abc,child.cource,a.name
FROM (select max(b.point) as abc,c.cource from `student` as a join `achievement` as b join `course` as c on a.sex = 1 and b.sid=a.id and b.cid=c.id group by c.cource) as child
join `student` as a join `achievement` as b join `course` as c on a.sex = 1 and b.sid=a.id and b.cid=c.id where child.abc=b.point and child.cource=c.cource
很繁琐,子查询和查询的都是同一个表同一个条件,答案包对
不要姓名要学号的话就把名字换一下
原理
子查询出最高分和科目,再用父查询把(同条件下)把最高分和科目配对
② 查询每门课成绩最高分的同学的sql语句,输出课程名,姓名,学号,分数。表的结构如下。写出完整的sql语句
SELECT cname,sname,student.sno,grade
FROM student join sc on student.sno=sc.sno
join course on course.cno=sc.cno
where grade=(select max(grade)
from sc
where cno=course.cno )
③ 请根据要求写出相应的sql语句:查询score表中,语文成绩的最高分
可以使用以下 SQL 语句来查询 score 表中语文成绩的最高分:
SELECT MAX(chinese) FROM score;
在这个 SQL 语句中,我们使用了 MAX 函数来查询 chinese 列中的最高分。
你可能需要根据自己的情况来修改表名和列名,以适应你的数据库结构。
④ sql语句查询成绩最高的学生
select * from 学生表 where 学生id in (select 学生id from 分数表 where 分数值 = (select Max(分数字段) from 分数表)),这样查询即可。
⑤ SQL查询每门课程最高分学生的学号,课程号,成绩
select t1.学号,t1.课程号,t1.成绩
from table t1
where t1.成绩 = (
select max(t2.成绩)
from table t2
where t2.课程号 = t1.课程号
group by t2.课程号
)
⑥ SQL语句 查询各学院平均成绩最高的学生姓名及平均成绩
select
学生表.学号,学生表.姓名,
average(成绩表.成绩)
as
平均成绩,
max(成绩表.成绩)
as
最高成绩,
min(成绩表.成绩)
as
最低成绩
from
学生表
left
join
成绩表
on
学生表.学号=成绩表.学号
order
by
学生表.学号
成绩表可换成语文、数学、英语等,查询结果就是各个学生相应课程的平均成绩、历史最高成绩、历史最低成绩。
⑦ sql 如何查询每个班级中的最高分
具体代码如下:
select班级名称,分数=MAX(成绩)
from
学生表sjoin班级表c
ons.班级号=c.班级号
join成绩表sc
ons.学号=sc.学号
groupby班级名称
扩展资御枝料:镇尘敏
SQL JOIN 子句用于把来自两个或多个表的行结合起来,基于这些表之间的共同字段。
最常见的 JOIN 类型:SQL INNER JOIN(简单的 JOIN)。 SQL INNER JOIN 从多个表中返回满足 JOIN 条件的所有行。
不同的 SQL JOIN,您可以使用的不同的 SQL JOIN 类型:
INNER JOIN:如果表中有至少一个匹配,则返回行
LEFT JOIN:兄世即使右表中没有匹配,也从左表返回所有的行
RIGHT JOIN:即使左表中没有匹配,也从右表返回所有的行
FULL JOIN:只要其中一个表中存在匹配,则返回行
Oracle官方API接口-PL/SQL API
W3cSchool-SQL JOIN
⑧ 用SQL语言查询每门课程得最高分的学生学号,课程号,成绩.查询结果按课程号升序排列
--1
select*fromSCAwheregrade=(selectMAX(grade)fromSCBwhereA.Cno=B.Cno)
orderbyCno
--2
selectS.Sno,Sname,SUM(Grade)总分
fromSjoinSConS.Sno=SC.Sno
groupbyS.Sno,Sname
havingCOUNT(*)=(selectCOUNT(*)fromC)
--3
insertintoSC_C
selectC.Cno,Cname,AVG(Grade)
fromCjoinSConC.Cno=SC.Cno
groupbyC.Cno,Cname
⑨ sql,查询每门课程最高分的学生的学号,课程号,成绩。再一张表里
select 学号, 课程号 , 成绩 from 表A ( select 课程号 ,max(成绩) AS mCJ from 表A group by 课程号) B where 表A课程号=B.课程号 AND 表A.成绩 =B.mCJ