创建视图 视图内容为每门课程的课程号 课程名 选课人数 平均成绩 并按平均成绩降序排列
时间: 2023-11-10 14:05:09 浏览: 206
好的,以下是创建该视图的 SQL 语句:
```sql
CREATE VIEW course_summary AS
SELECT course.course_id, course.course_name, COUNT(*) AS enrolled_count, AVG(score) AS avg_score
FROM course JOIN enrollment ON course.course_id = enrollment.course_id
GROUP BY course.course_id, course.course_name
ORDER BY avg_score DESC;
```
该视图会返回每门课程的课程号、课程名、选课人数和平均成绩,并按照平均成绩降序排列。您可以通过以下语句查询该视图:
```sql
SELECT * FROM course_summary;
```
相关问题
创建视图,视图内容为每门课程课程号,课程名,选课人数,平均成绩,并按平均成绩降序排序
好的,您可以使用以下 SQL 语句创建视图:
```
CREATE VIEW course_view AS
SELECT
course.cno AS 课程号,
course.cname AS 课程名,
COUNT(score.sno) AS 选课人数,
AVG(score.degree) AS 平均成绩
FROM
course
LEFT JOIN score ON course.cno = score.cno
GROUP BY
course.cno,
course.cname
ORDER BY
AVG(score.degree) DESC;
```
这个视图将会返回每门课程的课程号,课程名,选课人数和平均成绩,并且按照平均成绩降序排序。请注意,如果某门课程没有人选,它仍然会出现在结果中,但是选课人数和平均成绩都将为 NULL。
创建视图view_avg,统计各门课程的平均成绩,并按课程名称升序排列;
好的,以下是创建视图view_avg的SQL语句:
```
CREATE VIEW view_avg AS
SELECT course_name, AVG(score) AS avg_score
FROM score
GROUP BY course_name
ORDER BY course_name ASC;
```
这个视图会从名为score的表中获取每门课程的成绩,计算平均值,并按照课程名称升序排列。使用时只需要查询这个视图即可获取各门课程的平均成绩。