opengauss语句:(2) 对每个课程,求学生的选课人数和学生的平均成绩,并把结果存入数据库。使用SELECT INTO 和INSERT INTO 两种方法实现。
时间: 2024-04-30 13:23:13 浏览: 13
SELECT INTO 方法:
```
SELECT course_id, COUNT(student_id) AS num_of_students, AVG(score) AS avg_score
INTO course_stats
FROM course_selection
GROUP BY course_id;
```
INSERT INTO 方法:
```
INSERT INTO course_stats(course_id, num_of_students, avg_score)
SELECT course_id, COUNT(student_id) AS num_of_students, AVG(score) AS avg_score
FROM course_selection
GROUP BY course_id;
```
其中,`course_selection` 表为选课表,包含 `student_id`、`course_id` 和 `score` 三个字段;`course_stats` 表为存储结果的表,包含 `course_id`、`num_of_students` 和 `avg_score` 三个字段。
相关问题
用sql语句在dbstusent中统计查询选课了的学生人数和未选课的学生人数
好的,那么我们就可以使用SQL语句来查询dbstudent数据库中选课了的学生人数和未选课的学生人数。假设dbstudent数据库中有两个表:Student和Course,其中Student表包含学生的信息,Course表包含课程的信息,两个表之间通过学生ID进行关联。
查询选课了的学生人数可以使用以下SQL语句:
```
SELECT COUNT(DISTINCT StudentID) AS selected_students
FROM Course;
```
查询未选课的学生人数可以使用以下SQL语句:
```
SELECT COUNT(*) AS unselected_students
FROM Student
WHERE StudentID NOT IN (SELECT DISTINCT StudentID FROM Course);
```
这两个SQL语句分别使用了COUNT函数和DISTINCT关键字来进行统计,其中第二个SQL语句中使用了子查询来获取选课了的学生ID并将其排除在外。
sql创建一个存储过程 SC_PROC,要求指定学生选课的平均成绩(以学号为参数)
下面是创建存储过程 SC_PROC 的 SQL 语句,实现指定学生选课的平均成绩(以学号为参数):
```
CREATE PROCEDURE SC_PROC
@student_id INT
AS
BEGIN
SELECT AVG(SC.score) AS avg_score
FROM SC
WHERE SC.student_id = @student_id;
END
```
该存储过程接收一个学号作为参数,然后在 SC 表中查询该学生的所有选课成绩,最后计算平均成绩并返回结果。可以通过以下方式调用该存储过程:
```
EXEC SC_PROC @student_id = 12345;
```
其中,@student_id 是输入参数,需要传入一个具体的学号值。执行上述语句后,将返回指定学生选课的平均成绩。
相关推荐
![zip](https://img-home.csdnimg.cn/images/20210720083736.png)
![7z](https://img-home.csdnimg.cn/images/20210720083312.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)