创建年级为13级的学生视图view_grade13,视图中包含学号、姓名、年级、所选修课程及成绩。
时间: 2023-12-23 22:05:53 浏览: 35
可以使用以下 SQL 语句创建年级为13级的学生视图 view_grade13:
```
CREATE VIEW view_grade13 AS
SELECT s.stu_id, s.stu_name, s.grade, c.course_name, sc.score
FROM student s
JOIN score sc ON s.stu_id = sc.stu_id
JOIN course c ON sc.course_id = c.course_id
WHERE s.grade = 13;
```
该语句中,我们使用了 JOIN 来连接 student、score 和 course 表,同时使用 WHERE 子句过滤出年级为 13 的学生。最终的视图包含 stu_id、stu_name、grade、course_name 和 score 五个字段。
相关问题
创建一个选修了数据库的学生成绩视图DB_G,其属性包括学号,课程号,成绩
好的,您可以按照以下SQL语句创建DB_G视图:
```SQL
CREATE VIEW DB_G AS
SELECT S.SID, C.CID, SC.Grade
FROM Student S, Course C, SC
WHERE S.SID = SC.SID AND C.CID = SC.CID AND C.CName = '数据库';
```
该视图将会显示选修了数据库课程的学生成绩,包括学号、课程号和成绩。请注意,该视图基于学生表(Student)、课程表(Course)和选课表(SC)的关联查询而创建,在查询中使用了条件C.CName = '数据库'来筛选出选修了数据库课程的学生信息。
利用sql语言为表 sc 创建一个视图 s_grade(sno,sname,cou_cnt,avg_grade,fail_cnt),包括有各个学生学号、 姓名、选修课程的门数、平均分及不及格门数。
好的,以下是用SQL语言为表sc创建s_grade视图的查询语句:
```
CREATE VIEW s_grade AS
SELECT s.sno, s.sname, COUNT(sc.cno) AS cou_cnt, AVG(sc.grade) AS avg_grade,
COUNT(CASE WHEN sc.grade < 60 THEN 1 END) AS fail_cnt
FROM student s, sc
WHERE s.sno = sc.sno
GROUP BY s.sno, s.sname;
```
以上查询语句会将学生表(student)和选课表(sc)联合起来,按照学生的学号和姓名对选修课程进行统计,包括选修的课程门数、平均分及不及格课程门数,最终生成一个名为s_grade的视图。