创建存储过程st_pro,通过参数给定姓名,查询该学生的学号、姓名、所学课程名称和成绩
时间: 2023-12-03 16:42:04 浏览: 225
以下是一个基于MySQL的存储过程实现:
```mysql
DELIMITER $$
CREATE PROCEDURE st_pro(
IN student_name VARCHAR(50)
)
BEGIN
SELECT s.student_id, s.student_name, c.course_name, sc.score
FROM students s
JOIN scores sc ON s.student_id = sc.student_id
JOIN courses c ON sc.course_id = c.course_id
WHERE s.student_name = student_name;
END $$
DELIMITER ;
```
该存储过程接收一个参数 `student_name`,根据该参数查询学生信息以及其所学课程成绩信息,并返回结果集。需要注意的是,该存储过程基于三个表 `students`、`scores` 和 `courses`,其中 `students` 表包含学生信息,`scores` 表包含学生成绩信息,`courses` 表包含课程信息。在查询中,需要通过 `JOIN` 关键字表达三个表之间的关联关系。
阅读全文