写出创建满足下列要求的视图 (1)查询学生的学号、姓名、所在系、课程号、课程名、课程学分。 (2)查询学生的学号、姓名、选修的课程名和考试成绩。 (3)统计每个学生的选课门数,列出学生的学号和选课门数。 (4)统计每个学生的修课总学分,列出学生的学号和总学分(说明,考试成绩大于等于60才可获得此门课程的学分)。 2.修改第1题(4)定义的视图,使其查询每个学生的学号和总的选课门数。 3.写出实现下列操作的 SQL 语句,执行这些语句,并在SSMS工具中观察语句的执行结果。 (1)在Student表的Sde
时间: 2023-06-02 10:06:01 浏览: 264
10、创建视图,显示每名学生的姓名、选修的课程门数、总周学时数、总学分数和加权平均分的查询,
5星 · 资源好评率100%
pt列添加一个默认值为1的约束。(2)在Course表的Cname列中插入一条记录,值为'计算机网络',并返回插入的记录的主键值。 (3)删除选修了编号为001的课程的学生的选课记录。 (4)将选修了编号为002的课程,且考试成绩为70分的学生的成绩修改为80分。
答:
创建视图:
CREATE VIEW StudentCourseInfo AS
SELECT s.Sno, s.Sname, s.Sdept, sc.Cno, c.Cname, c.Ccredit
FROM Student s, SC sc, Course c
WHERE s.Sno=sc.Sno AND sc.Cno=c.Cno;
CREATE VIEW StudentScoreInfo AS
SELECT s.Sno, s.Sname, c.Cname, sc.Score
FROM Student s, SC sc, Course c
WHERE s.Sno=sc.Sno AND sc.Cno=c.Cno;
CREATE VIEW StudentCourseNum AS
SELECT Sno, COUNT(*) AS CourseNum
FROM SC
GROUP BY Sno;
CREATE VIEW StudentTotalCredit AS
SELECT Sno, SUM(c.Ccredit) AS TotalCredit
FROM Student s, SC sc, Course c
WHERE s.Sno=sc.Sno AND sc.Cno=c.Cno AND sc.Score>=60
GROUP BY s.Sno;
修改视图:
ALTER VIEW StudentTotalCredit
AS
SELECT Sno, COUNT(*) AS TotalCourseNum
FROM SC
GROUP BY Sno;
SQL语句:
(1) ALTER TABLE Student ADD CONSTRAINT DF_Sdept DEFAULT '1' FOR Sdept;
(2) INSERT INTO Course(Cname) VALUES ('计算机网络'); SELECT @@IDENTITY AS new_Cno;
(3) DELETE FROM SC WHERE Cno='001';
(4) UPDATE SC SET Score=80 WHERE Cno='002' AND Score=70;
阅读全文