mysql 创建学生教务系统,已插入学生表名称为student,成绩表名称为score,课程表名称为course。创建一个实用的函数并显示该函数的调用方法
时间: 2024-03-28 11:41:41 浏览: 51
好的,针对你的问题,我可以提供以下的解答。
首先,你可以创建一个查询函数,用于查询学生的成绩信息。具体的 SQL 函数代码如下:
```sql
CREATE FUNCTION get_student_score(student_id INT)
RETURNS TABLE (
student_name VARCHAR(20),
course_name VARCHAR(20),
score INT
) AS $$
BEGIN
RETURN QUERY SELECT s.name, c.name, sc.score
FROM student s
JOIN score sc ON s.id = sc.student_id
JOIN course c ON sc.course_id = c.id
WHERE s.id = student_id;
END; $$
```
该函数接受一个参数 `student_id`,并返回一个包含学生姓名、课程名称和成绩的表格。函数内部使用了 `JOIN` 操作符,将学生表、成绩表和课程表连接在一起,并根据输入的学生 ID 进行筛选。
要调用该函数,你可以使用以下的 SQL 语句:
```sql
SELECT * FROM get_student_score(1001);
```
其中 `1001` 是你要查询的学生 ID。执行该语句后,你将会得到一个包含该学生成绩信息的表格。
希望这个解答对你有所帮助!如果你还有其他问题,可以继续向我提问。
阅读全文