学生、课程、成绩三个表完成上述题目的SQL语句示例: 创建并调用一个标量函数
时间: 2023-08-08 13:07:23 浏览: 101
好的,以下是示例SQL语句:
创建学生表:
```
CREATE TABLE student (
id INT PRIMARY KEY,
name VARCHAR(50),
age INT,
gender VARCHAR(10),
address VARCHAR(100)
);
```
创建课程表:
```
CREATE TABLE course (
id INT PRIMARY KEY,
name VARCHAR(50),
teacher VARCHAR(50)
);
```
创建成绩表:
```
CREATE TABLE score (
id INT PRIMARY KEY,
student_id INT,
course_id INT,
score INT,
FOREIGN KEY (student_id) REFERENCES student(id),
FOREIGN KEY (course_id) REFERENCES course(id)
);
```
查询所有学生的平均分:
```
CREATE FUNCTION get_avg_score()
RETURNS FLOAT
BEGIN
DECLARE avg_score FLOAT;
SELECT AVG(score)
INTO avg_score
FROM score;
RETURN avg_score;
END;
SELECT get_avg_score();
```
以上是一个简单的标量函数示例,用于获取所有学生的平均分。在函数中,我们使用了SQL语句的AVG函数来计算平均分,并使用SELECT INTO语句将结果存储在变量avg_score中,最后使用RETURN语句返回结果。在调用函数时,使用SELECT语句调用即可。
阅读全文