对每个课程,求学生的选课人数和学生的平均成绩,并把结果存入数据库。使用SELECT INTO 和INSERT INTO 两种方法实现。
时间: 2024-05-05 10:17:18 浏览: 88
SELECT INTO 和 INSERT INTO SELECT 两种表复制语句详解(SQL数据库和Oracle数据库的区别)
假设有两个表,一个是学生表(students),包含学生的姓名和学号;另一个是选课表(courses),包含选课的课程名称、学号和成绩。
使用SELECT INTO方法实现:
```
-- 按课程统计选课人数和平均成绩
SELECT courses.course_name, COUNT(*) AS student_count, AVG(courses.score) AS avg_score
INTO course_stats
FROM courses
GROUP BY courses.course_name;
-- 将结果插入数据库
INSERT INTO course_stats (course_name, student_count, avg_score)
SELECT course_name, student_count, avg_score
FROM course_stats;
```
使用INSERT INTO方法实现:
```
-- 创建空表
CREATE TABLE course_stats (
course_name VARCHAR(50),
student_count INT,
avg_score FLOAT
);
-- 按课程统计选课人数和平均成绩,并将结果插入数据库
INSERT INTO course_stats (course_name, student_count, avg_score)
SELECT courses.course_name, COUNT(*) AS student_count, AVG(courses.score) AS avg_score
FROM courses
GROUP BY courses.course_name;
```
阅读全文