参照学生-课程数据库,两人一组(队友出题,你给出SQL语句)完成下列任务: 创建并调用一个标量函数完成题目要求:创建一个函数,用于查询所有选修某门课程的学生的学号、课程号和成绩,并返回一个表格,然后调用该函数。
时间: 2024-02-24 14:58:23 浏览: 82
查询数据库中所有有成绩的学生的学号和课程号
4星 · 用户满意度95%
好的,以下是创建标量函数的 SQL 语句:
```sql
CREATE FUNCTION get_course_grades(course_id INT)
RETURNS TABLE (
student_id INT,
course_id INT,
grade FLOAT
)
AS $$
BEGIN
RETURN QUERY SELECT student_id, course_id, grade
FROM student_course
WHERE course_id = $1;
END;
$$ LANGUAGE plpgsql;
```
以上 SQL 语句创建了一个名为 `get_course_grades` 的标量函数,该函数接受一个参数 `course_id`,并返回一个包含所有选修该门课程的学生的学号、课程号和成绩的表格。
接下来,我们可以使用以下 SQL 语句调用该函数,其中参数 `101` 表示课程号为 101 的课程:
```sql
SELECT * FROM get_course_grades(101);
```
以上 SQL 语句将返回所有选修课程号为 101 的课程的学生的学号、课程号和成绩。
阅读全文