/*
检查“Logic Java”课程最近一次考试成绩
如果有 80分以上的成绩,显示分数排在前5名的学员学号和分数
*/
SELECT studentNO,studentResult
FROM result
WHERE EXISTS(
SELECT * FROM result
WHERE studentResult>80
AND subjectNo=(SELECT subjectNo FROM `new_subject` WHERE subjectName='logic Java')
AND examDate=(SELECT MAX(`examDate`) FROM result WHERE subjectNo=(SELECT subjectNo FROM `new_subject` WHERE subjectName='logic Java'))
)
AND subjectNo=(SELECT subjectNo FROM `new_subject` WHERE subjectName='logic Java')
AND examDate=(SELECT MAX(`examDate`) FROM result WHERE subjectNo=(SELECT subjectNo FROM `new_subject` WHERE subjectName='logic Java'))
ORDER BY studentResult DESC
LIMIT 5
#检查“Logic Java”课程最近一次考试成绩
#如果全部未通过考试(60分及格),认为本次考试偏难,计算的该次考试平均分加5分
SELECT AVG(studentResult)+5 AS 平均分 FROM result
WHERE NOT EXISTS(
SELECT * FROM `result`
WHERE `subjectNO`=(
SELECT `subjectNO` FROM `new_subject`
`result` WHERE `subjectName`='logic Java'
)AND `examDate`=(
检查“Logic Java”课程最近一次考试成绩
如果有 80分以上的成绩,显示分数排在前5名的学员学号和分数
*/
SELECT studentNO,studentResult
FROM result
WHERE EXISTS(
SELECT * FROM result
WHERE studentResult>80
AND subjectNo=(SELECT subjectNo FROM `new_subject` WHERE subjectName='logic Java')
AND examDate=(SELECT MAX(`examDate`) FROM result WHERE subjectNo=(SELECT subjectNo FROM `new_subject` WHERE subjectName='logic Java'))
)
AND subjectNo=(SELECT subjectNo FROM `new_subject` WHERE subjectName='logic Java')
AND examDate=(SELECT MAX(`examDate`) FROM result WHERE subjectNo=(SELECT subjectNo FROM `new_subject` WHERE subjectName='logic Java'))
ORDER BY studentResult DESC
LIMIT 5
#检查“Logic Java”课程最近一次考试成绩
#如果全部未通过考试(60分及格),认为本次考试偏难,计算的该次考试平均分加5分
SELECT AVG(studentResult)+5 AS 平均分 FROM result
WHERE NOT EXISTS(
SELECT * FROM `result`
WHERE `subjectNO`=(
SELECT `subjectNO` FROM `new_subject`
`result` WHERE `subjectName`='logic Java'
)AND `examDate`=(

本文展示了多个高级SQL查询示例,包括检查‘Logic Java’课程最近一次考试成绩,判断考试难度,生成成绩单,统计课程平均分,以及各种分组筛选操作。示例涉及子查询、聚合函数、JOIN操作等,是数据库查询和分析的重要参考。

3464

被折叠的 条评论
为什么被折叠?



