创建一个带输入参数的存储过程,输入分数参数执行存储过程得到平均分大于该分数的学生统计成绩信息(包括学号、姓名、平均分、课程门数字段)
时间: 2023-08-09 22:11:40 浏览: 109
好的,以下是创建该存储过程的 SQL 语句:
```
CREATE PROCEDURE GetStudentInfoByScore(@score float)
AS
BEGIN
SELECT s.StudentID, s.StudentName, COUNT(sc.CourseID) AS CourseCount, AVG(sc.Score) AS AvgScore
FROM Students s
LEFT JOIN Scores sc ON s.StudentID = sc.StudentID
GROUP BY s.StudentID, s.StudentName
HAVING AVG(sc.Score) > @score
ORDER BY AVG(sc.Score) DESC
END
```
该存储过程的输入参数为 @score,表示输入的分数。存储过程使用左连接联合 Students 和 Scores 表,根据学生 ID 和姓名进行分组,统计每个学生的课程门数和平均分,并筛选出平均分大于 @score 的学生。最后,按照平均分降序排列,返回符合条件的学生的学号、姓名、平均分和课程门数信息。
注意,该存储过程是示例代码,具体实现需要根据实际情况进行修改。
阅读全文