(3)创建学生选课及相关详细信息视图stu_allview,包含:学号、姓名、性别、年龄、专业名、课程号、课程名、学分、成绩。
时间: 2023-09-19 08:08:24 浏览: 97
可以使用以下 SQL 语句创建所需的stu_allview视图:
```
CREATE VIEW stu_allview AS
SELECT s.sid, s.sname, s.ssex, s.sage, m.mname, c.cid, c.cname, c.credit, sc.score
FROM student s
JOIN major m ON s.mid = m.mid
JOIN sc ON s.sid = sc.sid
JOIN course c ON sc.cid = c.cid;
```
该视图将学生表、专业表、选课表和课程表联合查询,显示了每个学生所选的课程及成绩,同时也展示了学生的基本信息和所属专业。
相关问题
创建学号为1404001的学生的成绩视图view_1404001,视图中包含学号、姓名、各门课程的总成绩。
可以使用以下 SQL 语句创建学号为1404001的学生的成绩视图 view_1404001:
```
CREATE VIEW view_1404001 AS
SELECT s.stu_id, s.stu_name, SUM(sc.score) AS total_score
FROM student s
JOIN score sc ON s.stu_id = sc.stu_id
WHERE s.stu_id = '1404001'
GROUP BY s.stu_id, s.stu_name;
```
该语句中,我们使用了 JOIN 来连接 student 和 score 表,同时使用 WHERE 子句过滤出学号为 1404001 的学生。在 SELECT 子句中,使用了 SUM 函数来计算各门课程的总成绩。最终的视图包含 stu_id、stu_name 和 total_score 三个字段。
使用 SQL 语句修改视图 v_stu_g,显示学生的学号、姓名、性别
假设 v_stu_g 视图已经存在,并且包含了学生的学号、姓名、性别、年龄、成绩等字段,可以使用如下 SQL 语句修改该视图,只显示学号、姓名、性别三个字段:
```
ALTER VIEW v_stu_g AS
SELECT sno, sname, ssex
FROM student;
```
这里假设学生表的表名为 student,学号、姓名、性别字段分别为 sno、sname、ssex。通过 ALTER VIEW 语句修改视图的定义,只选择需要的字段并重新命名。执行后,v_stu_g 视图将只包含学号、姓名、性别三个字段的数据。